home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / site-packages / libxml2.py < prev    next >
Text File  |  2006-04-25  |  332KB  |  8,990 lines

  1. import libxml2mod
  2. import types
  3.  
  4. # The root of all libxml2 errors.
  5. class libxmlError(Exception): pass
  6.  
  7. #
  8. # Errors raised by the wrappers when some tree handling failed.
  9. #
  10. class treeError(libxmlError):
  11.     def __init__(self, msg):
  12.         self.msg = msg
  13.     def __str__(self):
  14.         return self.msg
  15.  
  16. class parserError(libxmlError):
  17.     def __init__(self, msg):
  18.         self.msg = msg
  19.     def __str__(self):
  20.         return self.msg
  21.  
  22. class uriError(libxmlError):
  23.     def __init__(self, msg):
  24.         self.msg = msg
  25.     def __str__(self):
  26.         return self.msg
  27.  
  28. class xpathError(libxmlError):
  29.     def __init__(self, msg):
  30.         self.msg = msg
  31.     def __str__(self):
  32.         return self.msg
  33.  
  34. class ioWrapper:
  35.     def __init__(self, _obj):
  36.         self.__io = _obj
  37.         self._o = None
  38.  
  39.     def io_close(self):
  40.         if self.__io == None:
  41.             return(-1)
  42.         self.__io.close()
  43.         self.__io = None
  44.         return(0)
  45.  
  46.     def io_flush(self):
  47.         if self.__io == None:
  48.             return(-1)
  49.         self.__io.flush()
  50.         return(0)
  51.  
  52.     def io_read(self, len = -1):
  53.         if self.__io == None:
  54.             return(-1)
  55.         if len < 0:
  56.             return(self.__io.read())
  57.         return(self.__io.read(len))
  58.  
  59.     def io_write(self, str, len = -1):
  60.         if self.__io == None:
  61.             return(-1)
  62.         if len < 0:
  63.             return(self.__io.write(str))
  64.         return(self.__io.write(str, len))
  65.  
  66. class ioReadWrapper(ioWrapper):
  67.     def __init__(self, _obj, enc = ""):
  68.         ioWrapper.__init__(self, _obj)
  69.         self._o = libxml2mod.xmlCreateInputBuffer(self, enc)
  70.  
  71.     def __del__(self):
  72.         print "__del__"
  73.         self.io_close()
  74.         if self._o != None:
  75.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  76.         self._o = None
  77.  
  78.     def close(self):
  79.         self.io_close()
  80.         if self._o != None:
  81.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  82.         self._o = None
  83.  
  84. class ioWriteWrapper(ioWrapper):
  85.     def __init__(self, _obj, enc = ""):
  86. #        print "ioWriteWrapper.__init__", _obj
  87.         if type(_obj) == type(''):
  88.             print "write io from a string"
  89.             self.o = None
  90.         elif type(_obj) == types.InstanceType:
  91.             print "write io from instance of %s" % (_obj.__class__)
  92.             ioWrapper.__init__(self, _obj)
  93.             self._o = libxml2mod.xmlCreateOutputBuffer(self, enc)
  94.         else:
  95.             file = libxml2mod.outputBufferGetPythonFile(_obj)
  96.             if file != None:
  97.                 ioWrapper.__init__(self, file)
  98.             else:
  99.                 ioWrapper.__init__(self, _obj)
  100.             self._o = _obj
  101.  
  102.     def __del__(self):
  103. #        print "__del__"
  104.         self.io_close()
  105.         if self._o != None:
  106.             libxml2mod.xmlOutputBufferClose(self._o)
  107.         self._o = None
  108.  
  109.     def flush(self):
  110.         self.io_flush()
  111.         if self._o != None:
  112.             libxml2mod.xmlOutputBufferClose(self._o)
  113.         self._o = None
  114.  
  115.     def close(self):
  116.         self.io_flush()
  117.         if self._o != None:
  118.             libxml2mod.xmlOutputBufferClose(self._o)
  119.         self._o = None
  120.  
  121. #
  122. # Example of a class to handle SAX events
  123. #
  124. class SAXCallback:
  125.     """Base class for SAX handlers"""
  126.     def startDocument(self):
  127.         """called at the start of the document"""
  128.         pass
  129.  
  130.     def endDocument(self):
  131.         """called at the end of the document"""
  132.         pass
  133.  
  134.     def startElement(self, tag, attrs):
  135.         """called at the start of every element, tag is the name of
  136.            the element, attrs is a dictionary of the element's attributes"""
  137.         pass
  138.  
  139.     def endElement(self, tag):
  140.         """called at the start of every element, tag is the name of
  141.            the element"""
  142.         pass
  143.  
  144.     def characters(self, data):
  145.         """called when character data have been read, data is the string
  146.            containing the data, multiple consecutive characters() callback
  147.            are possible."""
  148.         pass
  149.  
  150.     def cdataBlock(self, data):
  151.         """called when CDATA section have been read, data is the string
  152.            containing the data, multiple consecutive cdataBlock() callback
  153.            are possible."""
  154.         pass
  155.  
  156.     def reference(self, name):
  157.         """called when an entity reference has been found"""
  158.         pass
  159.  
  160.     def ignorableWhitespace(self, data):
  161.         """called when potentially ignorable white spaces have been found"""
  162.         pass
  163.  
  164.     def processingInstruction(self, target, data):
  165.         """called when a PI has been found, target contains the PI name and
  166.            data is the associated data in the PI"""
  167.         pass
  168.  
  169.     def comment(self, content):
  170.         """called when a comment has been found, content contains the comment"""
  171.         pass
  172.  
  173.     def externalSubset(self, name, externalID, systemID):
  174.         """called when a DOCTYPE declaration has been found, name is the
  175.            DTD name and externalID, systemID are the DTD public and system
  176.            identifier for that DTd if available"""
  177.         pass
  178.  
  179.     def internalSubset(self, name, externalID, systemID):
  180.         """called when a DOCTYPE declaration has been found, name is the
  181.            DTD name and externalID, systemID are the DTD public and system
  182.            identifier for that DTD if available"""
  183.         pass
  184.  
  185.     def entityDecl(self, name, type, externalID, systemID, content):
  186.         """called when an ENTITY declaration has been found, name is the
  187.            entity name and externalID, systemID are the entity public and
  188.            system identifier for that entity if available, type indicates
  189.            the entity type, and content reports it's string content"""
  190.         pass
  191.  
  192.     def notationDecl(self, name, externalID, systemID):
  193.         """called when an NOTATION declaration has been found, name is the
  194.            notation name and externalID, systemID are the notation public and
  195.            system identifier for that notation if available"""
  196.         pass
  197.  
  198.     def attributeDecl(self, elem, name, type, defi, defaultValue, nameList):
  199.         """called when an ATTRIBUTE definition has been found"""
  200.         pass
  201.  
  202.     def elementDecl(self, name, type, content):
  203.         """called when an ELEMENT definition has been found"""
  204.         pass
  205.  
  206.     def entityDecl(self, name, publicId, systemID, notationName):
  207.         """called when an unparsed ENTITY declaration has been found,
  208.            name is the entity name and publicId,, systemID are the entity
  209.            public and system identifier for that entity if available,
  210.            and notationName indicate the associated NOTATION"""
  211.         pass
  212.  
  213.     def warning(self, msg):
  214.         #print msg
  215.     pass
  216.  
  217.     def error(self, msg):
  218.         raise parserError(msg)
  219.  
  220.     def fatalError(self, msg):
  221.         raise parserError(msg)
  222.  
  223. #
  224. # This class is the ancestor of all the Node classes. It provides
  225. # the basic functionalities shared by all nodes (and handle
  226. # gracefylly the exception), like name, navigation in the tree,
  227. # doc reference, content access and serializing to a string or URI
  228. #
  229. class xmlCore:
  230.     def __init__(self, _obj=None):
  231.         if _obj != None: 
  232.             self._o = _obj;
  233.             return
  234.         self._o = None
  235.     def __str__(self):
  236.         return self.serialize()
  237.     def get_parent(self):
  238.         ret = libxml2mod.parent(self._o)
  239.         if ret == None:
  240.             return None
  241.         return xmlNode(_obj=ret)
  242.     def get_children(self):
  243.         ret = libxml2mod.children(self._o)
  244.         if ret == None:
  245.             return None
  246.         return xmlNode(_obj=ret)
  247.     def get_last(self):
  248.         ret = libxml2mod.last(self._o)
  249.         if ret == None:
  250.             return None
  251.         return xmlNode(_obj=ret)
  252.     def get_next(self):
  253.         ret = libxml2mod.next(self._o)
  254.         if ret == None:
  255.             return None
  256.         return xmlNode(_obj=ret)
  257.     def get_properties(self):
  258.         ret = libxml2mod.properties(self._o)
  259.         if ret == None:
  260.             return None
  261.         return xmlAttr(_obj=ret)
  262.     def get_prev(self):
  263.         ret = libxml2mod.prev(self._o)
  264.         if ret == None:
  265.             return None
  266.         return xmlNode(_obj=ret)
  267.     def get_content(self):
  268.         return libxml2mod.xmlNodeGetContent(self._o)
  269.     getContent = get_content  # why is this duplicate naming needed ?
  270.     def get_name(self):
  271.         return libxml2mod.name(self._o)
  272.     def get_type(self):
  273.         return libxml2mod.type(self._o)
  274.     def get_doc(self):
  275.         ret = libxml2mod.doc(self._o)
  276.         if ret == None:
  277.             if self.type in ["document_xml", "document_html"]:
  278.                 return xmlDoc(_obj=self._o)
  279.             else:
  280.                 return None
  281.         return xmlDoc(_obj=ret)
  282.     #
  283.     # Those are common attributes to nearly all type of nodes
  284.     # defined as python2 properties
  285.     # 
  286.     import sys
  287.     if float(sys.version[0:3]) < 2.2:
  288.         def __getattr__(self, attr):
  289.             if attr == "parent":
  290.                 ret = libxml2mod.parent(self._o)
  291.                 if ret == None:
  292.                     return None
  293.                 return xmlNode(_obj=ret)
  294.             elif attr == "properties":
  295.                 ret = libxml2mod.properties(self._o)
  296.                 if ret == None:
  297.                     return None
  298.                 return xmlAttr(_obj=ret)
  299.             elif attr == "children":
  300.                 ret = libxml2mod.children(self._o)
  301.                 if ret == None:
  302.                     return None
  303.                 return xmlNode(_obj=ret)
  304.             elif attr == "last":
  305.                 ret = libxml2mod.last(self._o)
  306.                 if ret == None:
  307.                     return None
  308.                 return xmlNode(_obj=ret)
  309.             elif attr == "next":
  310.                 ret = libxml2mod.next(self._o)
  311.                 if ret == None:
  312.                     return None
  313.                 return xmlNode(_obj=ret)
  314.             elif attr == "prev":
  315.                 ret = libxml2mod.prev(self._o)
  316.                 if ret == None:
  317.                     return None
  318.                 return xmlNode(_obj=ret)
  319.             elif attr == "content":
  320.                 return libxml2mod.xmlNodeGetContent(self._o)
  321.             elif attr == "name":
  322.                 return libxml2mod.name(self._o)
  323.             elif attr == "type":
  324.                 return libxml2mod.type(self._o)
  325.             elif attr == "doc":
  326.                 ret = libxml2mod.doc(self._o)
  327.                 if ret == None:
  328.                     if self.type == "document_xml" or self.type == "document_html":
  329.                         return xmlDoc(_obj=self._o)
  330.                     else:
  331.                         return None
  332.                 return xmlDoc(_obj=ret)
  333.             raise AttributeError,attr
  334.     else:
  335.         parent = property(get_parent, None, None, "Parent node")
  336.         children = property(get_children, None, None, "First child node")
  337.         last = property(get_last, None, None, "Last sibling node")
  338.         next = property(get_next, None, None, "Next sibling node")
  339.         prev = property(get_prev, None, None, "Previous sibling node")
  340.         properties = property(get_properties, None, None, "List of properies")
  341.         content = property(get_content, None, None, "Content of this node")
  342.         name = property(get_name, None, None, "Node name")
  343.         type = property(get_type, None, None, "Node type")
  344.         doc = property(get_doc, None, None, "The document this node belongs to")
  345.  
  346.     #
  347.     # Serialization routines, the optional arguments have the following
  348.     # meaning:
  349.     #     encoding: string to ask saving in a specific encoding
  350.     #     indent: if 1 the serializer is asked to indent the output
  351.     #
  352.     def serialize(self, encoding = None, format = 0):
  353.         return libxml2mod.serializeNode(self._o, encoding, format)
  354.     def saveTo(self, file, encoding = None, format = 0):
  355.         return libxml2mod.saveNodeTo(self._o, file, encoding, format)
  356.             
  357.     #
  358.     # Canonicalization routines:
  359.     #
  360.     #   nodes: the node set (tuple or list) to be included in the
  361.     #     canonized image or None if all document nodes should be
  362.     #     included.
  363.     #   exclusive: the exclusive flag (0 - non-exclusive
  364.     #     canonicalization; otherwise - exclusive canonicalization)
  365.     #   prefixes: the list of inclusive namespace prefixes (strings),
  366.     #     or None if there is no inclusive namespaces (only for
  367.     #     exclusive canonicalization, ignored otherwise)
  368.     #   with_comments: include comments in the result (!=0) or not
  369.     #     (==0)
  370.     def c14nMemory(self,
  371.                    nodes=None,
  372.                    exclusive=0,
  373.                    prefixes=None,
  374.                    with_comments=0):
  375.         if nodes:
  376.             nodes = map(lambda n: n._o, nodes)
  377.         return libxml2mod.xmlC14NDocDumpMemory(
  378.             self.get_doc()._o,
  379.             nodes,
  380.             exclusive != 0,
  381.             prefixes,
  382.             with_comments != 0)
  383.     def c14nSaveTo(self,
  384.                    file,
  385.                    nodes=None,
  386.                    exclusive=0,
  387.                    prefixes=None,
  388.                    with_comments=0):
  389.         if nodes:
  390.             nodes = map(lambda n: n._o, nodes)
  391.         return libxml2mod.xmlC14NDocSaveTo(
  392.             self.get_doc()._o,
  393.             nodes,
  394.             exclusive != 0,
  395.             prefixes,
  396.             with_comments != 0,
  397.             file)
  398.  
  399.     #
  400.     # Selecting nodes using XPath, a bit slow because the context
  401.     # is allocated/freed every time but convenient.
  402.     #
  403.     def xpathEval(self, expr):
  404.         doc = self.doc
  405.         if doc == None:
  406.             return None
  407.         ctxt = doc.xpathNewContext()
  408.         ctxt.setContextNode(self)
  409.         res = ctxt.xpathEval(expr)
  410.         ctxt.xpathFreeContext()
  411.         return res
  412.  
  413. #    #
  414. #    # Selecting nodes using XPath, faster because the context
  415. #    # is allocated just once per xmlDoc.
  416. #    #
  417. #    # Removed: DV memleaks c.f. #126735
  418. #    #
  419. #    def xpathEval2(self, expr):
  420. #        doc = self.doc
  421. #        if doc == None:
  422. #            return None
  423. #        try:
  424. #            doc._ctxt.setContextNode(self)
  425. #        except:
  426. #            doc._ctxt = doc.xpathNewContext()
  427. #            doc._ctxt.setContextNode(self)
  428. #        res = doc._ctxt.xpathEval(expr)
  429. #        return res
  430.     def xpathEval2(self, expr):
  431.         return self.xpathEval(expr)
  432.  
  433.     # Remove namespaces
  434.     def removeNsDef(self, href):
  435.         """
  436.         Remove a namespace definition from a node.  If href is None,
  437.         remove all of the ns definitions on that node.  The removed
  438.         namespaces are returned as a linked list.
  439.  
  440.         Note: If any child nodes referred to the removed namespaces,
  441.         they will be left with dangling links.  You should call
  442.         renciliateNs() to fix those pointers.
  443.  
  444.         Note: This method does not free memory taken by the ns
  445.         definitions.  You will need to free it manually with the
  446.         freeNsList() method on the returns xmlNs object.
  447.         """
  448.  
  449.         ret = libxml2mod.xmlNodeRemoveNsDef(self._o, href)
  450.         if ret is None:return None
  451.         __tmp = xmlNs(_obj=ret)
  452.         return __tmp
  453.  
  454.     # support for python2 iterators
  455.     def walk_depth_first(self):
  456.         return xmlCoreDepthFirstItertor(self)
  457.     def walk_breadth_first(self):
  458.         return xmlCoreBreadthFirstItertor(self)
  459.     __iter__ = walk_depth_first
  460.  
  461.     def free(self):
  462.         try:
  463.             self.doc._ctxt.xpathFreeContext()
  464.         except:
  465.             pass
  466.         libxml2mod.xmlFreeDoc(self._o)
  467.  
  468.  
  469. #
  470. # implements the depth-first iterator for libxml2 DOM tree
  471. #
  472. class xmlCoreDepthFirstItertor:
  473.     def __init__(self, node):
  474.         self.node = node
  475.         self.parents = []
  476.     def __iter__(self):
  477.         return self
  478.     def next(self):
  479.         while 1:
  480.             if self.node:
  481.                 ret = self.node
  482.                 self.parents.append(self.node)
  483.                 self.node = self.node.children
  484.                 return ret
  485.             try:
  486.                 parent = self.parents.pop()
  487.             except IndexError:
  488.                 raise StopIteration
  489.             self.node = parent.next
  490.  
  491. #
  492. # implements the breadth-first iterator for libxml2 DOM tree
  493. #
  494. class xmlCoreBreadthFirstItertor:
  495.     def __init__(self, node):
  496.         self.node = node
  497.         self.parents = []
  498.     def __iter__(self):
  499.         return self
  500.     def next(self):
  501.         while 1:
  502.             if self.node:
  503.                 ret = self.node
  504.                 self.parents.append(self.node)
  505.                 self.node = self.node.next
  506.                 return ret
  507.             try:
  508.                 parent = self.parents.pop()
  509.             except IndexError:
  510.                 raise StopIteration
  511.             self.node = parent.children
  512.  
  513. #
  514. # converters to present a nicer view of the XPath returns
  515. #
  516. def nodeWrap(o):
  517.     # TODO try to cast to the most appropriate node class
  518.     name = libxml2mod.type(o)
  519.     if name == "element" or name == "text":
  520.         return xmlNode(_obj=o)
  521.     if name == "attribute":
  522.         return xmlAttr(_obj=o)
  523.     if name[0:8] == "document":
  524.         return xmlDoc(_obj=o)
  525.     if name == "namespace":
  526.         return xmlNs(_obj=o)
  527.     if name == "elem_decl":
  528.         return xmlElement(_obj=o)
  529.     if name == "attribute_decl":
  530.         return xmlAttribute(_obj=o)
  531.     if name == "entity_decl":
  532.         return xmlEntity(_obj=o)
  533.     if name == "dtd":
  534.         return xmlDtd(_obj=o)
  535.     return xmlNode(_obj=o)
  536.  
  537. def xpathObjectRet(o):
  538.     if type(o) == type([]) or type(o) == type(()):
  539.         ret = map(lambda x: nodeWrap(x), o)
  540.         return ret
  541.     return o
  542.  
  543. #
  544. # register an XPath function
  545. #
  546. def registerXPathFunction(ctxt, name, ns_uri, f):
  547.     ret = libxml2mod.xmlRegisterXPathFunction(ctxt, name, ns_uri, f)
  548.  
  549. #
  550. # For the xmlTextReader parser configuration
  551. #
  552. PARSER_LOADDTD=1
  553. PARSER_DEFAULTATTRS=2
  554. PARSER_VALIDATE=3
  555. PARSER_SUBST_ENTITIES=4
  556.  
  557. #
  558. # For the error callback severities
  559. #
  560. PARSER_SEVERITY_VALIDITY_WARNING=1
  561. PARSER_SEVERITY_VALIDITY_ERROR=2
  562. PARSER_SEVERITY_WARNING=3
  563. PARSER_SEVERITY_ERROR=4
  564.  
  565. #
  566. # register the libxml2 error handler
  567. #
  568. def registerErrorHandler(f, ctx):
  569.     """Register a Python written function to for error reporting.
  570.        The function is called back as f(ctx, error). """
  571.     import sys
  572.     if not sys.modules.has_key('libxslt'):
  573.         # normal behaviour when libxslt is not imported
  574.         ret = libxml2mod.xmlRegisterErrorHandler(f,ctx)
  575.     else:
  576.         # when libxslt is already imported, one must
  577.         # use libxst's error handler instead
  578.         import libxslt
  579.         ret = libxslt.registerErrorHandler(f,ctx)
  580.     return ret
  581.  
  582. class parserCtxtCore:
  583.  
  584.     def __init__(self, _obj=None):
  585.         if _obj != None: 
  586.             self._o = _obj;
  587.             return
  588.         self._o = None
  589.  
  590.     def __del__(self):
  591.         if self._o != None:
  592.             libxml2mod.xmlFreeParserCtxt(self._o)
  593.         self._o = None
  594.  
  595.     def setErrorHandler(self,f,arg):
  596.         """Register an error handler that will be called back as
  597.            f(arg,msg,severity,reserved).
  598.            
  599.            @reserved is currently always None."""
  600.         libxml2mod.xmlParserCtxtSetErrorHandler(self._o,f,arg)
  601.  
  602.     def getErrorHandler(self):
  603.         """Return (f,arg) as previously registered with setErrorHandler
  604.            or (None,None)."""
  605.         return libxml2mod.xmlParserCtxtGetErrorHandler(self._o)
  606.  
  607.     def addLocalCatalog(self, uri):
  608.         """Register a local catalog with the parser"""
  609.         return libxml2mod.addLocalCatalog(self._o, uri)
  610.     
  611.  
  612. class ValidCtxtCore:
  613.  
  614.     def __init__(self, *args, **kw):
  615.         pass
  616.  
  617.     def setValidityErrorHandler(self, err_func, warn_func, arg=None):
  618.         """
  619.         Register error and warning handlers for DTD validation.
  620.         These will be called back as f(msg,arg)
  621.         """
  622.         libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg)
  623.     
  624.  
  625. class SchemaValidCtxtCore:
  626.  
  627.     def __init__(self, *args, **kw):
  628.         pass
  629.  
  630.     def setValidityErrorHandler(self, err_func, warn_func, arg=None):
  631.         """
  632.         Register error and warning handlers for Schema validation.
  633.         These will be called back as f(msg,arg)
  634.         """
  635.         libxml2mod.xmlSchemaSetValidErrors(self._o, err_func, warn_func, arg)
  636.  
  637.  
  638. class relaxNgValidCtxtCore:
  639.  
  640.     def __init__(self, *args, **kw):
  641.         pass
  642.  
  643.     def setValidityErrorHandler(self, err_func, warn_func, arg=None):
  644.         """
  645.         Register error and warning handlers for RelaxNG validation.
  646.         These will be called back as f(msg,arg)
  647.         """
  648.         libxml2mod.xmlRelaxNGSetValidErrors(self._o, err_func, warn_func, arg)
  649.  
  650.     
  651. def _xmlTextReaderErrorFunc((f,arg),msg,severity,locator):
  652.     """Intermediate callback to wrap the locator"""
  653.     return f(arg,msg,severity,xmlTextReaderLocator(locator))
  654.  
  655. class xmlTextReaderCore:
  656.  
  657.     def __init__(self, _obj=None):
  658.         self.input = None
  659.         if _obj != None:self._o = _obj;return
  660.         self._o = None
  661.  
  662.     def __del__(self):
  663.         if self._o != None:
  664.             libxml2mod.xmlFreeTextReader(self._o)
  665.         self._o = None
  666.  
  667.     def SetErrorHandler(self,f,arg):
  668.         """Register an error handler that will be called back as
  669.            f(arg,msg,severity,locator)."""
  670.         if f is None:
  671.             libxml2mod.xmlTextReaderSetErrorHandler(\
  672.                 self._o,None,None)
  673.         else:
  674.             libxml2mod.xmlTextReaderSetErrorHandler(\
  675.                 self._o,_xmlTextReaderErrorFunc,(f,arg))
  676.  
  677.     def GetErrorHandler(self):
  678.         """Return (f,arg) as previously registered with setErrorHandler
  679.            or (None,None)."""
  680.         f,arg = libxml2mod.xmlTextReaderGetErrorHandler(self._o)
  681.         if f is None:
  682.             return None,None
  683.         else:
  684.             # assert f is _xmlTextReaderErrorFunc
  685.             return arg
  686.  
  687. #
  688. # The cleanup now goes though a wrappe in libxml.c
  689. #
  690. def cleanupParser():
  691.     libxml2mod.xmlPythonCleanupParser()
  692.  
  693. # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  694. #
  695. # Everything before this line comes from libxml.py 
  696. # Everything after this line is automatically generated
  697. #
  698. # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  699.  
  700. #
  701. # Functions from module HTMLparser
  702. #
  703.  
  704. def htmlCreateMemoryParserCtxt(buffer, size):
  705.     """Create a parser context for an HTML in-memory document. """
  706.     ret = libxml2mod.htmlCreateMemoryParserCtxt(buffer, size)
  707.     if ret is None:raise parserError('htmlCreateMemoryParserCtxt() failed')
  708.     return parserCtxt(_obj=ret)
  709.  
  710. def htmlHandleOmittedElem(val):
  711.     """Set and return the previous value for handling HTML omitted
  712.        tags. """
  713.     ret = libxml2mod.htmlHandleOmittedElem(val)
  714.     return ret
  715.  
  716. def htmlIsScriptAttribute(name):
  717.     """Check if an attribute is of content type Script """
  718.     ret = libxml2mod.htmlIsScriptAttribute(name)
  719.     return ret
  720.  
  721. def htmlParseDoc(cur, encoding):
  722.     """parse an HTML in-memory document and build a tree. """
  723.     ret = libxml2mod.htmlParseDoc(cur, encoding)
  724.     if ret is None:raise parserError('htmlParseDoc() failed')
  725.     return xmlDoc(_obj=ret)
  726.  
  727. def htmlParseFile(filename, encoding):
  728.     """parse an HTML file and build a tree. Automatic support for
  729.        ZLIB/Compress compressed document is provided by default
  730.        if found at compile-time. """
  731.     ret = libxml2mod.htmlParseFile(filename, encoding)
  732.     if ret is None:raise parserError('htmlParseFile() failed')
  733.     return xmlDoc(_obj=ret)
  734.  
  735. def htmlReadDoc(cur, URL, encoding, options):
  736.     """parse an XML in-memory document and build a tree. """
  737.     ret = libxml2mod.htmlReadDoc(cur, URL, encoding, options)
  738.     if ret is None:raise treeError('htmlReadDoc() failed')
  739.     return xmlDoc(_obj=ret)
  740.  
  741. def htmlReadFd(fd, URL, encoding, options):
  742.     """parse an XML from a file descriptor and build a tree. """
  743.     ret = libxml2mod.htmlReadFd(fd, URL, encoding, options)
  744.     if ret is None:raise treeError('htmlReadFd() failed')
  745.     return xmlDoc(_obj=ret)
  746.  
  747. def htmlReadFile(filename, encoding, options):
  748.     """parse an XML file from the filesystem or the network. """
  749.     ret = libxml2mod.htmlReadFile(filename, encoding, options)
  750.     if ret is None:raise treeError('htmlReadFile() failed')
  751.     return xmlDoc(_obj=ret)
  752.  
  753. def htmlReadMemory(buffer, size, URL, encoding, options):
  754.     """parse an XML in-memory document and build a tree. """
  755.     ret = libxml2mod.htmlReadMemory(buffer, size, URL, encoding, options)
  756.     if ret is None:raise treeError('htmlReadMemory() failed')
  757.     return xmlDoc(_obj=ret)
  758.  
  759. #
  760. # Functions from module HTMLtree
  761. #
  762.  
  763. def htmlIsBooleanAttr(name):
  764.     """Determine if a given attribute is a boolean attribute. """
  765.     ret = libxml2mod.htmlIsBooleanAttr(name)
  766.     return ret
  767.  
  768. def htmlNewDoc(URI, ExternalID):
  769.     """Creates a new HTML document """
  770.     ret = libxml2mod.htmlNewDoc(URI, ExternalID)
  771.     if ret is None:raise treeError('htmlNewDoc() failed')
  772.     return xmlDoc(_obj=ret)
  773.  
  774. def htmlNewDocNoDtD(URI, ExternalID):
  775.     """Creates a new HTML document without a DTD node if @URI and
  776.        @ExternalID are None """
  777.     ret = libxml2mod.htmlNewDocNoDtD(URI, ExternalID)
  778.     if ret is None:raise treeError('htmlNewDocNoDtD() failed')
  779.     return xmlDoc(_obj=ret)
  780.  
  781. #
  782. # Functions from module SAX2
  783. #
  784.  
  785. def SAXDefaultVersion(version):
  786.     """Set the default version of SAX used globally by the
  787.        library. By default, during initialization the default is
  788.        set to 2. Note that it is generally a better coding style
  789.        to use xmlSAXVersion() to set up the version explicitly
  790.        for a given parsing context. """
  791.     ret = libxml2mod.xmlSAXDefaultVersion(version)
  792.     return ret
  793.  
  794. def defaultSAXHandlerInit():
  795.     """Initialize the default SAX2 handler """
  796.     libxml2mod.xmlDefaultSAXHandlerInit()
  797.  
  798. def docbDefaultSAXHandlerInit():
  799.     """Initialize the default SAX handler """
  800.     libxml2mod.docbDefaultSAXHandlerInit()
  801.  
  802. def htmlDefaultSAXHandlerInit():
  803.     """Initialize the default SAX handler """
  804.     libxml2mod.htmlDefaultSAXHandlerInit()
  805.  
  806. #
  807. # Functions from module catalog
  808. #
  809.  
  810. def catalogAdd(type, orig, replace):
  811.     """Add an entry in the catalog, it may overwrite existing but
  812.        different entries. If called before any other catalog
  813.        routine, allows to override the default shared catalog put
  814.        in place by xmlInitializeCatalog(); """
  815.     ret = libxml2mod.xmlCatalogAdd(type, orig, replace)
  816.     return ret
  817.  
  818. def catalogCleanup():
  819.     """Free up all the memory associated with catalogs """
  820.     libxml2mod.xmlCatalogCleanup()
  821.  
  822. def catalogConvert():
  823.     """Convert all the SGML catalog entries as XML ones """
  824.     ret = libxml2mod.xmlCatalogConvert()
  825.     return ret
  826.  
  827. def catalogDump(out):
  828.     """Dump all the global catalog content to the given file. """
  829.     libxml2mod.xmlCatalogDump(out)
  830.  
  831. def catalogGetPublic(pubID):
  832.     """Try to lookup the catalog reference associated to a public
  833.        ID DEPRECATED, use xmlCatalogResolvePublic() """
  834.     ret = libxml2mod.xmlCatalogGetPublic(pubID)
  835.     return ret
  836.  
  837. def catalogGetSystem(sysID):
  838.     """Try to lookup the catalog reference associated to a system
  839.        ID DEPRECATED, use xmlCatalogResolveSystem() """
  840.     ret = libxml2mod.xmlCatalogGetSystem(sysID)
  841.     return ret
  842.  
  843. def catalogRemove(value):
  844.     """Remove an entry from the catalog """
  845.     ret = libxml2mod.xmlCatalogRemove(value)
  846.     return ret
  847.  
  848. def catalogResolve(pubID, sysID):
  849.     """Do a complete resolution lookup of an External Identifier """
  850.     ret = libxml2mod.xmlCatalogResolve(pubID, sysID)
  851.     return ret
  852.  
  853. def catalogResolvePublic(pubID):
  854.     """Try to lookup the catalog reference associated to a public
  855.        ID """
  856.     ret = libxml2mod.xmlCatalogResolvePublic(pubID)
  857.     return ret
  858.  
  859. def catalogResolveSystem(sysID):
  860.     """Try to lookup the catalog resource for a system ID """
  861.     ret = libxml2mod.xmlCatalogResolveSystem(sysID)
  862.     return ret
  863.  
  864. def catalogResolveURI(URI):
  865.     """Do a complete resolution lookup of an URI """
  866.     ret = libxml2mod.xmlCatalogResolveURI(URI)
  867.     return ret
  868.  
  869. def catalogSetDebug(level):
  870.     """Used to set the debug level for catalog operation, 0
  871.        disable debugging, 1 enable it """
  872.     ret = libxml2mod.xmlCatalogSetDebug(level)
  873.     return ret
  874.  
  875. def initializeCatalog():
  876.     """Do the catalog initialization. this function is not thread
  877.        safe, catalog initialization should preferably be done
  878.        once at startup """
  879.     libxml2mod.xmlInitializeCatalog()
  880.  
  881. def loadACatalog(filename):
  882.     """Load the catalog and build the associated data structures.
  883.        This can be either an XML Catalog or an SGML Catalog It
  884.        will recurse in SGML CATALOG entries. On the other hand
  885.        XML Catalogs are not handled recursively. """
  886.     ret = libxml2mod.xmlLoadACatalog(filename)
  887.     if ret is None:raise treeError('xmlLoadACatalog() failed')
  888.     return catalog(_obj=ret)
  889.  
  890. def loadCatalog(filename):
  891.     """Load the catalog and makes its definitions effective for
  892.        the default external entity loader. It will recurse in
  893.        SGML CATALOG entries. this function is not thread safe,
  894.        catalog initialization should preferably be done once at
  895.        startup """
  896.     ret = libxml2mod.xmlLoadCatalog(filename)
  897.     return ret
  898.  
  899. def loadCatalogs(pathss):
  900.     """Load the catalogs and makes their definitions effective for
  901.        the default external entity loader. this function is not
  902.        thread safe, catalog initialization should preferably be
  903.        done once at startup """
  904.     libxml2mod.xmlLoadCatalogs(pathss)
  905.  
  906. def loadSGMLSuperCatalog(filename):
  907.     """Load an SGML super catalog. It won't expand CATALOG or
  908.        DELEGATE references. This is only needed for manipulating
  909.        SGML Super Catalogs like adding and removing CATALOG or
  910.        DELEGATE entries. """
  911.     ret = libxml2mod.xmlLoadSGMLSuperCatalog(filename)
  912.     if ret is None:raise treeError('xmlLoadSGMLSuperCatalog() failed')
  913.     return catalog(_obj=ret)
  914.  
  915. def newCatalog(sgml):
  916.     """create a new Catalog. """
  917.     ret = libxml2mod.xmlNewCatalog(sgml)
  918.     if ret is None:raise treeError('xmlNewCatalog() failed')
  919.     return catalog(_obj=ret)
  920.  
  921. def parseCatalogFile(filename):
  922.     """parse an XML file and build a tree. It's like
  923.        xmlParseFile() except it bypass all catalog lookups. """
  924.     ret = libxml2mod.xmlParseCatalogFile(filename)
  925.     if ret is None:raise parserError('xmlParseCatalogFile() failed')
  926.     return xmlDoc(_obj=ret)
  927.  
  928. #
  929. # Functions from module chvalid
  930. #
  931.  
  932. def isBaseChar(ch):
  933.     """This function is DEPRECATED. Use xmlIsBaseChar_ch or
  934.        xmlIsBaseCharQ instead """
  935.     ret = libxml2mod.xmlIsBaseChar(ch)
  936.     return ret
  937.  
  938. def isBlank(ch):
  939.     """This function is DEPRECATED. Use xmlIsBlank_ch or
  940.        xmlIsBlankQ instead """
  941.     ret = libxml2mod.xmlIsBlank(ch)
  942.     return ret
  943.  
  944. def isChar(ch):
  945.     """This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ
  946.        instead """
  947.     ret = libxml2mod.xmlIsChar(ch)
  948.     return ret
  949.  
  950. def isCombining(ch):
  951.     """This function is DEPRECATED. Use xmlIsCombiningQ instead """
  952.     ret = libxml2mod.xmlIsCombining(ch)
  953.     return ret
  954.  
  955. def isDigit(ch):
  956.     """This function is DEPRECATED. Use xmlIsDigit_ch or
  957.        xmlIsDigitQ instead """
  958.     ret = libxml2mod.xmlIsDigit(ch)
  959.     return ret
  960.  
  961. def isExtender(ch):
  962.     """This function is DEPRECATED. Use xmlIsExtender_ch or
  963.        xmlIsExtenderQ instead """
  964.     ret = libxml2mod.xmlIsExtender(ch)
  965.     return ret
  966.  
  967. def isIdeographic(ch):
  968.     """This function is DEPRECATED. Use xmlIsIdeographicQ instead """
  969.     ret = libxml2mod.xmlIsIdeographic(ch)
  970.     return ret
  971.  
  972. def isPubidChar(ch):
  973.     """This function is DEPRECATED. Use xmlIsPubidChar_ch or
  974.        xmlIsPubidCharQ instead """
  975.     ret = libxml2mod.xmlIsPubidChar(ch)
  976.     return ret
  977.  
  978. #
  979. # Functions from module debugXML
  980. #
  981.  
  982. def boolToText(boolval):
  983.     """Convenient way to turn bool into text """
  984.     ret = libxml2mod.xmlBoolToText(boolval)
  985.     return ret
  986.  
  987. def debugDumpString(output, str):
  988.     """Dumps informations about the string, shorten it if necessary """
  989.     libxml2mod.xmlDebugDumpString(output, str)
  990.  
  991. def shellPrintXPathError(errorType, arg):
  992.     """Print the xpath error to libxml default error channel """
  993.     libxml2mod.xmlShellPrintXPathError(errorType, arg)
  994.  
  995. #
  996. # Functions from module dict
  997. #
  998.  
  999. def dictCleanup():
  1000.     """Free the dictionary mutex. """
  1001.     libxml2mod.xmlDictCleanup()
  1002.  
  1003. #
  1004. # Functions from module encoding
  1005. #
  1006.  
  1007. def addEncodingAlias(name, alias):
  1008.     """Registers an alias @alias for an encoding named @name.
  1009.        Existing alias will be overwritten. """
  1010.     ret = libxml2mod.xmlAddEncodingAlias(name, alias)
  1011.     return ret
  1012.  
  1013. def cleanupCharEncodingHandlers():
  1014.     """Cleanup the memory allocated for the char encoding support,
  1015.        it unregisters all the encoding handlers and the aliases. """
  1016.     libxml2mod.xmlCleanupCharEncodingHandlers()
  1017.  
  1018. def cleanupEncodingAliases():
  1019.     """Unregisters all aliases """
  1020.     libxml2mod.xmlCleanupEncodingAliases()
  1021.  
  1022. def delEncodingAlias(alias):
  1023.     """Unregisters an encoding alias @alias """
  1024.     ret = libxml2mod.xmlDelEncodingAlias(alias)
  1025.     return ret
  1026.  
  1027. def encodingAlias(alias):
  1028.     """Lookup an encoding name for the given alias. """
  1029.     ret = libxml2mod.xmlGetEncodingAlias(alias)
  1030.     return ret
  1031.  
  1032. def initCharEncodingHandlers():
  1033.     """Initialize the char encoding support, it registers the
  1034.        default encoding supported. NOTE: while public, this
  1035.        function usually doesn't need to be called in normal
  1036.        processing. """
  1037.     libxml2mod.xmlInitCharEncodingHandlers()
  1038.  
  1039. #
  1040. # Functions from module entities
  1041. #
  1042.  
  1043. def cleanupPredefinedEntities():
  1044.     """Cleanup up the predefined entities table. Deprecated call """
  1045.     libxml2mod.xmlCleanupPredefinedEntities()
  1046.  
  1047. def initializePredefinedEntities():
  1048.     """Set up the predefined entities. Deprecated call """
  1049.     libxml2mod.xmlInitializePredefinedEntities()
  1050.  
  1051. def predefinedEntity(name):
  1052.     """Check whether this name is an predefined entity. """
  1053.     ret = libxml2mod.xmlGetPredefinedEntity(name)
  1054.     if ret is None:raise treeError('xmlGetPredefinedEntity() failed')
  1055.     return xmlEntity(_obj=ret)
  1056.  
  1057. #
  1058. # Functions from module globals
  1059. #
  1060.  
  1061. def cleanupGlobals():
  1062.     """Additional cleanup for multi-threading """
  1063.     libxml2mod.xmlCleanupGlobals()
  1064.  
  1065. def initGlobals():
  1066.     """Additional initialisation for multi-threading """
  1067.     libxml2mod.xmlInitGlobals()
  1068.  
  1069. def thrDefDefaultBufferSize(v):
  1070.     ret = libxml2mod.xmlThrDefDefaultBufferSize(v)
  1071.     return ret
  1072.  
  1073. def thrDefDoValidityCheckingDefaultValue(v):
  1074.     ret = libxml2mod.xmlThrDefDoValidityCheckingDefaultValue(v)
  1075.     return ret
  1076.  
  1077. def thrDefGetWarningsDefaultValue(v):
  1078.     ret = libxml2mod.xmlThrDefGetWarningsDefaultValue(v)
  1079.     return ret
  1080.  
  1081. def thrDefIndentTreeOutput(v):
  1082.     ret = libxml2mod.xmlThrDefIndentTreeOutput(v)
  1083.     return ret
  1084.  
  1085. def thrDefKeepBlanksDefaultValue(v):
  1086.     ret = libxml2mod.xmlThrDefKeepBlanksDefaultValue(v)
  1087.     return ret
  1088.  
  1089. def thrDefLineNumbersDefaultValue(v):
  1090.     ret = libxml2mod.xmlThrDefLineNumbersDefaultValue(v)
  1091.     return ret
  1092.  
  1093. def thrDefLoadExtDtdDefaultValue(v):
  1094.     ret = libxml2mod.xmlThrDefLoadExtDtdDefaultValue(v)
  1095.     return ret
  1096.  
  1097. def thrDefParserDebugEntities(v):
  1098.     ret = libxml2mod.xmlThrDefParserDebugEntities(v)
  1099.     return ret
  1100.  
  1101. def thrDefPedanticParserDefaultValue(v):
  1102.     ret = libxml2mod.xmlThrDefPedanticParserDefaultValue(v)
  1103.     return ret
  1104.  
  1105. def thrDefSaveNoEmptyTags(v):
  1106.     ret = libxml2mod.xmlThrDefSaveNoEmptyTags(v)
  1107.     return ret
  1108.  
  1109. def thrDefSubstituteEntitiesDefaultValue(v):
  1110.     ret = libxml2mod.xmlThrDefSubstituteEntitiesDefaultValue(v)
  1111.     return ret
  1112.  
  1113. def thrDefTreeIndentString(v):
  1114.     ret = libxml2mod.xmlThrDefTreeIndentString(v)
  1115.     return ret
  1116.  
  1117. #
  1118. # Functions from module nanoftp
  1119. #
  1120.  
  1121. def nanoFTPCleanup():
  1122.     """Cleanup the FTP protocol layer. This cleanup proxy
  1123.        informations. """
  1124.     libxml2mod.xmlNanoFTPCleanup()
  1125.  
  1126. def nanoFTPInit():
  1127.     """Initialize the FTP protocol layer. Currently it just checks
  1128.        for proxy informations, and get the hostname """
  1129.     libxml2mod.xmlNanoFTPInit()
  1130.  
  1131. def nanoFTPProxy(host, port, user, passwd, type):
  1132.     """Setup the FTP proxy informations. This can also be done by
  1133.        using ftp_proxy ftp_proxy_user and ftp_proxy_password
  1134.        environment variables. """
  1135.     libxml2mod.xmlNanoFTPProxy(host, port, user, passwd, type)
  1136.  
  1137. def nanoFTPScanProxy(URL):
  1138.     """(Re)Initialize the FTP Proxy context by parsing the URL and
  1139.        finding the protocol host port it indicates. Should be
  1140.        like ftp://myproxy/ or ftp://myproxy:3128/ A None URL
  1141.        cleans up proxy informations. """
  1142.     libxml2mod.xmlNanoFTPScanProxy(URL)
  1143.  
  1144. #
  1145. # Functions from module nanohttp
  1146. #
  1147.  
  1148. def nanoHTTPCleanup():
  1149.     """Cleanup the HTTP protocol layer. """
  1150.     libxml2mod.xmlNanoHTTPCleanup()
  1151.  
  1152. def nanoHTTPInit():
  1153.     """Initialize the HTTP protocol layer. Currently it just
  1154.        checks for proxy informations """
  1155.     libxml2mod.xmlNanoHTTPInit()
  1156.  
  1157. def nanoHTTPScanProxy(URL):
  1158.     """(Re)Initialize the HTTP Proxy context by parsing the URL
  1159.        and finding the protocol host port it indicates. Should be
  1160.        like http://myproxy/ or http://myproxy:3128/ A None URL
  1161.        cleans up proxy informations. """
  1162.     libxml2mod.xmlNanoHTTPScanProxy(URL)
  1163.  
  1164. #
  1165. # Functions from module parser
  1166. #
  1167.  
  1168. def createDocParserCtxt(cur):
  1169.     """Creates a parser context for an XML in-memory document. """
  1170.     ret = libxml2mod.xmlCreateDocParserCtxt(cur)
  1171.     if ret is None:raise parserError('xmlCreateDocParserCtxt() failed')
  1172.     return parserCtxt(_obj=ret)
  1173.  
  1174. def initParser():
  1175.     """Initialization function for the XML parser. This is not
  1176.        reentrant. Call once before processing in case of use in
  1177.        multithreaded programs. """
  1178.     libxml2mod.xmlInitParser()
  1179.  
  1180. def keepBlanksDefault(val):
  1181.     """Set and return the previous value for default blanks text
  1182.        nodes support. The 1.x version of the parser used an
  1183.        heuristic to try to detect ignorable white spaces. As a
  1184.        result the SAX callback was generating
  1185.        xmlSAX2IgnorableWhitespace() callbacks instead of
  1186.        characters() one, and when using the DOM output text nodes
  1187.        containing those blanks were not generated. The 2.x and
  1188.        later version will switch to the XML standard way and
  1189.        ignorableWhitespace() are only generated when running the
  1190.        parser in validating mode and when the current element
  1191.        doesn't allow CDATA or mixed content. This function is
  1192.        provided as a way to force the standard behavior on 1.X
  1193.        libs and to switch back to the old mode for compatibility
  1194.        when running 1.X client code on 2.X . Upgrade of 1.X code
  1195.        should be done by using xmlIsBlankNode() commodity
  1196.        function to detect the "empty" nodes generated. This value
  1197.        also affect autogeneration of indentation when saving code
  1198.        if blanks sections are kept, indentation is not generated. """
  1199.     ret = libxml2mod.xmlKeepBlanksDefault(val)
  1200.     return ret
  1201.  
  1202. def lineNumbersDefault(val):
  1203.     """Set and return the previous value for enabling line numbers
  1204.        in elements contents. This may break on old application
  1205.        and is turned off by default. """
  1206.     ret = libxml2mod.xmlLineNumbersDefault(val)
  1207.     return ret
  1208.  
  1209. def newParserCtxt():
  1210.     """Allocate and initialize a new parser context. """
  1211.     ret = libxml2mod.xmlNewParserCtxt()
  1212.     if ret is None:raise parserError('xmlNewParserCtxt() failed')
  1213.     return parserCtxt(_obj=ret)
  1214.  
  1215. def parseDTD(ExternalID, SystemID):
  1216.     """Load and parse an external subset. """
  1217.     ret = libxml2mod.xmlParseDTD(ExternalID, SystemID)
  1218.     if ret is None:raise parserError('xmlParseDTD() failed')
  1219.     return xmlDtd(_obj=ret)
  1220.  
  1221. def parseDoc(cur):
  1222.     """parse an XML in-memory document and build a tree. """
  1223.     ret = libxml2mod.xmlParseDoc(cur)
  1224.     if ret is None:raise parserError('xmlParseDoc() failed')
  1225.     return xmlDoc(_obj=ret)
  1226.  
  1227. def parseEntity(filename):
  1228.     """parse an XML external entity out of context and build a
  1229.        tree.  [78] extParsedEnt ::= TextDecl? content  This
  1230.        correspond to a "Well Balanced" chunk """
  1231.     ret = libxml2mod.xmlParseEntity(filename)
  1232.     if ret is None:raise parserError('xmlParseEntity() failed')
  1233.     return xmlDoc(_obj=ret)
  1234.  
  1235. def parseFile(filename):
  1236.     """parse an XML file and build a tree. Automatic support for
  1237.        ZLIB/Compress compressed document is provided by default
  1238.        if found at compile-time. """
  1239.     ret = libxml2mod.xmlParseFile(filename)
  1240.     if ret is None:raise parserError('xmlParseFile() failed')
  1241.     return xmlDoc(_obj=ret)
  1242.  
  1243. def parseMemory(buffer, size):
  1244.     """parse an XML in-memory block and build a tree. """
  1245.     ret = libxml2mod.xmlParseMemory(buffer, size)
  1246.     if ret is None:raise parserError('xmlParseMemory() failed')
  1247.     return xmlDoc(_obj=ret)
  1248.  
  1249. def pedanticParserDefault(val):
  1250.     """Set and return the previous value for enabling pedantic
  1251.        warnings. """
  1252.     ret = libxml2mod.xmlPedanticParserDefault(val)
  1253.     return ret
  1254.  
  1255. def readDoc(cur, URL, encoding, options):
  1256.     """parse an XML in-memory document and build a tree. """
  1257.     ret = libxml2mod.xmlReadDoc(cur, URL, encoding, options)
  1258.     if ret is None:raise treeError('xmlReadDoc() failed')
  1259.     return xmlDoc(_obj=ret)
  1260.  
  1261. def readFd(fd, URL, encoding, options):
  1262.     """parse an XML from a file descriptor and build a tree. NOTE
  1263.        that the file descriptor will not be closed when the
  1264.        reader is closed or reset. """
  1265.     ret = libxml2mod.xmlReadFd(fd, URL, encoding, options)
  1266.     if ret is None:raise treeError('xmlReadFd() failed')
  1267.     return xmlDoc(_obj=ret)
  1268.  
  1269. def readFile(filename, encoding, options):
  1270.     """parse an XML file from the filesystem or the network. """
  1271.     ret = libxml2mod.xmlReadFile(filename, encoding, options)
  1272.     if ret is None:raise treeError('xmlReadFile() failed')
  1273.     return xmlDoc(_obj=ret)
  1274.  
  1275. def readMemory(buffer, size, URL, encoding, options):
  1276.     """parse an XML in-memory document and build a tree. """
  1277.     ret = libxml2mod.xmlReadMemory(buffer, size, URL, encoding, options)
  1278.     if ret is None:raise treeError('xmlReadMemory() failed')
  1279.     return xmlDoc(_obj=ret)
  1280.  
  1281. def recoverDoc(cur):
  1282.     """parse an XML in-memory document and build a tree. In the
  1283.        case the document is not Well Formed, a tree is built
  1284.        anyway """
  1285.     ret = libxml2mod.xmlRecoverDoc(cur)
  1286.     if ret is None:raise treeError('xmlRecoverDoc() failed')
  1287.     return xmlDoc(_obj=ret)
  1288.  
  1289. def recoverFile(filename):
  1290.     """parse an XML file and build a tree. Automatic support for
  1291.        ZLIB/Compress compressed document is provided by default
  1292.        if found at compile-time. In the case the document is not
  1293.        Well Formed, a tree is built anyway """
  1294.     ret = libxml2mod.xmlRecoverFile(filename)
  1295.     if ret is None:raise treeError('xmlRecoverFile() failed')
  1296.     return xmlDoc(_obj=ret)
  1297.  
  1298. def recoverMemory(buffer, size):
  1299.     """parse an XML in-memory block and build a tree. In the case
  1300.        the document is not Well Formed, a tree is built anyway """
  1301.     ret = libxml2mod.xmlRecoverMemory(buffer, size)
  1302.     if ret is None:raise treeError('xmlRecoverMemory() failed')
  1303.     return xmlDoc(_obj=ret)
  1304.  
  1305. def substituteEntitiesDefault(val):
  1306.     """Set and return the previous value for default entity
  1307.        support. Initially the parser always keep entity
  1308.        references instead of substituting entity values in the
  1309.        output. This function has to be used to change the default
  1310.        parser behavior SAX::substituteEntities() has to be used
  1311.        for changing that on a file by file basis. """
  1312.     ret = libxml2mod.xmlSubstituteEntitiesDefault(val)
  1313.     return ret
  1314.  
  1315. #
  1316. # Functions from module parserInternals
  1317. #
  1318.  
  1319. def checkLanguageID(lang):
  1320.     """Checks that the value conforms to the LanguageID
  1321.        production:  NOTE: this is somewhat deprecated, those
  1322.        productions were removed from the XML Second edition. 
  1323.        [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode
  1324.        ::= ISO639Code |  IanaCode |  UserCode [35] ISO639Code ::=
  1325.        ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' |
  1326.        'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X')
  1327.        '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ """
  1328.     ret = libxml2mod.xmlCheckLanguageID(lang)
  1329.     return ret
  1330.  
  1331. def copyChar(len, out, val):
  1332.     """append the char value in the array """
  1333.     ret = libxml2mod.xmlCopyChar(len, out, val)
  1334.     return ret
  1335.  
  1336. def copyCharMultiByte(out, val):
  1337.     """append the char value in the array """
  1338.     ret = libxml2mod.xmlCopyCharMultiByte(out, val)
  1339.     return ret
  1340.  
  1341. def createEntityParserCtxt(URL, ID, base):
  1342.     """Create a parser context for an external entity Automatic
  1343.        support for ZLIB/Compress compressed document is provided
  1344.        by default if found at compile-time. """
  1345.     ret = libxml2mod.xmlCreateEntityParserCtxt(URL, ID, base)
  1346.     if ret is None:raise parserError('xmlCreateEntityParserCtxt() failed')
  1347.     return parserCtxt(_obj=ret)
  1348.  
  1349. def createFileParserCtxt(filename):
  1350.     """Create a parser context for a file content. Automatic
  1351.        support for ZLIB/Compress compressed document is provided
  1352.        by default if found at compile-time. """
  1353.     ret = libxml2mod.xmlCreateFileParserCtxt(filename)
  1354.     if ret is None:raise parserError('xmlCreateFileParserCtxt() failed')
  1355.     return parserCtxt(_obj=ret)
  1356.  
  1357. def createMemoryParserCtxt(buffer, size):
  1358.     """Create a parser context for an XML in-memory document. """
  1359.     ret = libxml2mod.xmlCreateMemoryParserCtxt(buffer, size)
  1360.     if ret is None:raise parserError('xmlCreateMemoryParserCtxt() failed')
  1361.     return parserCtxt(_obj=ret)
  1362.  
  1363. def createURLParserCtxt(filename, options):
  1364.     """Create a parser context for a file or URL content.
  1365.        Automatic support for ZLIB/Compress compressed document is
  1366.        provided by default if found at compile-time and for file
  1367.        accesses """
  1368.     ret = libxml2mod.xmlCreateURLParserCtxt(filename, options)
  1369.     if ret is None:raise parserError('xmlCreateURLParserCtxt() failed')
  1370.     return parserCtxt(_obj=ret)
  1371.  
  1372. def htmlCreateFileParserCtxt(filename, encoding):
  1373.     """Create a parser context for a file content. Automatic
  1374.        support for ZLIB/Compress compressed document is provided
  1375.        by default if found at compile-time. """
  1376.     ret = libxml2mod.htmlCreateFileParserCtxt(filename, encoding)
  1377.     if ret is None:raise parserError('htmlCreateFileParserCtxt() failed')
  1378.     return parserCtxt(_obj=ret)
  1379.  
  1380. def htmlInitAutoClose():
  1381.     """Initialize the htmlStartCloseIndex for fast lookup of
  1382.        closing tags names. This is not reentrant. Call
  1383.        xmlInitParser() once before processing in case of use in
  1384.        multithreaded programs. """
  1385.     libxml2mod.htmlInitAutoClose()
  1386.  
  1387. def isLetter(c):
  1388.     """Check whether the character is allowed by the production
  1389.        [84] Letter ::= BaseChar | Ideographic """
  1390.     ret = libxml2mod.xmlIsLetter(c)
  1391.     return ret
  1392.  
  1393. def namePop(ctxt):
  1394.     """Pops the top element name from the name stack """
  1395.     if ctxt is None: ctxt__o = None
  1396.     else: ctxt__o = ctxt._o
  1397.     ret = libxml2mod.namePop(ctxt__o)
  1398.     return ret
  1399.  
  1400. def namePush(ctxt, value):
  1401.     """Pushes a new element name on top of the name stack """
  1402.     if ctxt is None: ctxt__o = None
  1403.     else: ctxt__o = ctxt._o
  1404.     ret = libxml2mod.namePush(ctxt__o, value)
  1405.     return ret
  1406.  
  1407. def nodePop(ctxt):
  1408.     """Pops the top element node from the node stack """
  1409.     if ctxt is None: ctxt__o = None
  1410.     else: ctxt__o = ctxt._o
  1411.     ret = libxml2mod.nodePop(ctxt__o)
  1412.     if ret is None:raise treeError('nodePop() failed')
  1413.     return xmlNode(_obj=ret)
  1414.  
  1415. def nodePush(ctxt, value):
  1416.     """Pushes a new element node on top of the node stack """
  1417.     if ctxt is None: ctxt__o = None
  1418.     else: ctxt__o = ctxt._o
  1419.     if value is None: value__o = None
  1420.     else: value__o = value._o
  1421.     ret = libxml2mod.nodePush(ctxt__o, value__o)
  1422.     return ret
  1423.  
  1424. #
  1425. # Functions from module python
  1426. #
  1427.  
  1428. def SAXParseFile(SAX, URI, recover):
  1429.     """Interface to parse an XML file or resource pointed by an
  1430.        URI to build an event flow to the SAX object """
  1431.     libxml2mod.xmlSAXParseFile(SAX, URI, recover)
  1432.  
  1433. def createInputBuffer(file, encoding):
  1434.     """Create a libxml2 input buffer from a Python file """
  1435.     ret = libxml2mod.xmlCreateInputBuffer(file, encoding)
  1436.     if ret is None:raise treeError('xmlCreateInputBuffer() failed')
  1437.     return inputBuffer(_obj=ret)
  1438.  
  1439. def createOutputBuffer(file, encoding):
  1440.     """Create a libxml2 output buffer from a Python file """
  1441.     ret = libxml2mod.xmlCreateOutputBuffer(file, encoding)
  1442.     if ret is None:raise treeError('xmlCreateOutputBuffer() failed')
  1443.     return outputBuffer(_obj=ret)
  1444.  
  1445. def createPushParser(SAX, chunk, size, URI):
  1446.     """Create a progressive XML parser context to build either an
  1447.        event flow if the SAX object is not None, or a DOM tree
  1448.        otherwise. """
  1449.     ret = libxml2mod.xmlCreatePushParser(SAX, chunk, size, URI)
  1450.     if ret is None:raise parserError('xmlCreatePushParser() failed')
  1451.     return parserCtxt(_obj=ret)
  1452.  
  1453. def debugMemory(activate):
  1454.     """Switch on the generation of line number for elements nodes.
  1455.        Also returns the number of bytes allocated and not freed
  1456.        by libxml2 since memory debugging was switched on. """
  1457.     ret = libxml2mod.xmlDebugMemory(activate)
  1458.     return ret
  1459.  
  1460. def dumpMemory():
  1461.     """dump the memory allocated in the file .memdump """
  1462.     libxml2mod.xmlDumpMemory()
  1463.  
  1464. def htmlCreatePushParser(SAX, chunk, size, URI):
  1465.     """Create a progressive HTML parser context to build either an
  1466.        event flow if the SAX object is not None, or a DOM tree
  1467.        otherwise. """
  1468.     ret = libxml2mod.htmlCreatePushParser(SAX, chunk, size, URI)
  1469.     if ret is None:raise parserError('htmlCreatePushParser() failed')
  1470.     return parserCtxt(_obj=ret)
  1471.  
  1472. def htmlSAXParseFile(SAX, URI, encoding):
  1473.     """Interface to parse an HTML file or resource pointed by an
  1474.        URI to build an event flow to the SAX object """
  1475.     libxml2mod.htmlSAXParseFile(SAX, URI, encoding)
  1476.  
  1477. def memoryUsed():
  1478.     """Returns the total amount of memory allocated by libxml2 """
  1479.     ret = libxml2mod.xmlMemoryUsed()
  1480.     return ret
  1481.  
  1482. def newNode(name):
  1483.     """Create a new Node """
  1484.     ret = libxml2mod.xmlNewNode(name)
  1485.     if ret is None:raise treeError('xmlNewNode() failed')
  1486.     return xmlNode(_obj=ret)
  1487.  
  1488. def pythonCleanupParser():
  1489.     """Cleanup function for the XML library. It tries to reclaim
  1490.        all parsing related global memory allocated for the
  1491.        library processing. It doesn't deallocate any document
  1492.        related memory. Calling this function should not prevent
  1493.        reusing the library but one should call xmlCleanupParser()
  1494.        only when the process has finished using the library or
  1495.        XML document built with it. """
  1496.     libxml2mod.xmlPythonCleanupParser()
  1497.  
  1498. def setEntityLoader(resolver):
  1499.     """Set the entity resolver as a python function """
  1500.     ret = libxml2mod.xmlSetEntityLoader(resolver)
  1501.     return ret
  1502.  
  1503. #
  1504. # Functions from module relaxng
  1505. #
  1506.  
  1507. def relaxNGCleanupTypes():
  1508.     """Cleanup the default Schemas type library associated to
  1509.        RelaxNG """
  1510.     libxml2mod.xmlRelaxNGCleanupTypes()
  1511.  
  1512. def relaxNGInitTypes():
  1513.     """Initilize the default type libraries. """
  1514.     ret = libxml2mod.xmlRelaxNGInitTypes()
  1515.     return ret
  1516.  
  1517. def relaxNGNewMemParserCtxt(buffer, size):
  1518.     """Create an XML RelaxNGs parse context for that memory buffer
  1519.        expected to contain an XML RelaxNGs file. """
  1520.     ret = libxml2mod.xmlRelaxNGNewMemParserCtxt(buffer, size)
  1521.     if ret is None:raise parserError('xmlRelaxNGNewMemParserCtxt() failed')
  1522.     return relaxNgParserCtxt(_obj=ret)
  1523.  
  1524. def relaxNGNewParserCtxt(URL):
  1525.     """Create an XML RelaxNGs parse context for that file/resource
  1526.        expected to contain an XML RelaxNGs file. """
  1527.     ret = libxml2mod.xmlRelaxNGNewParserCtxt(URL)
  1528.     if ret is None:raise parserError('xmlRelaxNGNewParserCtxt() failed')
  1529.     return relaxNgParserCtxt(_obj=ret)
  1530.  
  1531. #
  1532. # Functions from module tree
  1533. #
  1534.  
  1535. def buildQName(ncname, prefix, memory, len):
  1536.     """Builds the QName @prefix:@ncname in @memory if there is
  1537.        enough space and prefix is not None nor empty, otherwise
  1538.        allocate a new string. If prefix is None or empty it
  1539.        returns ncname. """
  1540.     ret = libxml2mod.xmlBuildQName(ncname, prefix, memory, len)
  1541.     return ret
  1542.  
  1543. def compressMode():
  1544.     """get the default compression mode used, ZLIB based. """
  1545.     ret = libxml2mod.xmlGetCompressMode()
  1546.     return ret
  1547.  
  1548. def isXHTML(systemID, publicID):
  1549.     """Try to find if the document correspond to an XHTML DTD """
  1550.     ret = libxml2mod.xmlIsXHTML(systemID, publicID)
  1551.     return ret
  1552.  
  1553. def newComment(content):
  1554.     """Creation of a new node containing a comment. """
  1555.     ret = libxml2mod.xmlNewComment(content)
  1556.     if ret is None:raise treeError('xmlNewComment() failed')
  1557.     return xmlNode(_obj=ret)
  1558.  
  1559. def newDoc(version):
  1560.     """Creates a new XML document """
  1561.     ret = libxml2mod.xmlNewDoc(version)
  1562.     if ret is None:raise treeError('xmlNewDoc() failed')
  1563.     return xmlDoc(_obj=ret)
  1564.  
  1565. def newPI(name, content):
  1566.     """Creation of a processing instruction element. Use
  1567.        xmlDocNewPI preferably to get string interning """
  1568.     ret = libxml2mod.xmlNewPI(name, content)
  1569.     if ret is None:raise treeError('xmlNewPI() failed')
  1570.     return xmlNode(_obj=ret)
  1571.  
  1572. def newText(content):
  1573.     """Creation of a new text node. """
  1574.     ret = libxml2mod.xmlNewText(content)
  1575.     if ret is None:raise treeError('xmlNewText() failed')
  1576.     return xmlNode(_obj=ret)
  1577.  
  1578. def newTextLen(content, len):
  1579.     """Creation of a new text node with an extra parameter for the
  1580.        content's length """
  1581.     ret = libxml2mod.xmlNewTextLen(content, len)
  1582.     if ret is None:raise treeError('xmlNewTextLen() failed')
  1583.     return xmlNode(_obj=ret)
  1584.  
  1585. def setCompressMode(mode):
  1586.     """set the default compression mode used, ZLIB based Correct
  1587.        values: 0 (uncompressed) to 9 (max compression) """
  1588.     libxml2mod.xmlSetCompressMode(mode)
  1589.  
  1590. def validateNCName(value, space):
  1591.     """Check that a value conforms to the lexical space of NCName """
  1592.     ret = libxml2mod.xmlValidateNCName(value, space)
  1593.     return ret
  1594.  
  1595. def validateNMToken(value, space):
  1596.     """Check that a value conforms to the lexical space of NMToken """
  1597.     ret = libxml2mod.xmlValidateNMToken(value, space)
  1598.     return ret
  1599.  
  1600. def validateName(value, space):
  1601.     """Check that a value conforms to the lexical space of Name """
  1602.     ret = libxml2mod.xmlValidateName(value, space)
  1603.     return ret
  1604.  
  1605. def validateQName(value, space):
  1606.     """Check that a value conforms to the lexical space of QName """
  1607.     ret = libxml2mod.xmlValidateQName(value, space)
  1608.     return ret
  1609.  
  1610. #
  1611. # Functions from module uri
  1612. #
  1613.  
  1614. def URIEscape(str):
  1615.     """Escaping routine, does not do validity checks ! It will try
  1616.        to escape the chars needing this, but this is heuristic
  1617.        based it's impossible to be sure. """
  1618.     ret = libxml2mod.xmlURIEscape(str)
  1619.     return ret
  1620.  
  1621. def URIEscapeStr(str, list):
  1622.     """This routine escapes a string to hex, ignoring reserved
  1623.        characters (a-z) and the characters in the exception list. """
  1624.     ret = libxml2mod.xmlURIEscapeStr(str, list)
  1625.     return ret
  1626.  
  1627. def URIUnescapeString(str, len, target):
  1628.     """Unescaping routine, does not do validity checks ! Output is
  1629.        direct unsigned char translation of %XX values (no
  1630.        encoding) """
  1631.     ret = libxml2mod.xmlURIUnescapeString(str, len, target)
  1632.     return ret
  1633.  
  1634. def buildRelativeURI(URI, base):
  1635.     """Expresses the URI of the reference in terms relative to the
  1636.        base.  Some examples of this operation include: base =
  1637.        "http://site1.com/docs/book1.html" URI input              
  1638.                 URI returned docs/pic1.gif                   
  1639.        pic1.gif docs/img/pic1.gif                img/pic1.gif
  1640.        img/pic1.gif                     ../img/pic1.gif
  1641.        http://site1.com/docs/pic1.gif   pic1.gif
  1642.        http://site2.com/docs/pic1.gif  
  1643.        http://site2.com/docs/pic1.gif  base = "docs/book1.html"
  1644.        URI input                        URI returned
  1645.        docs/pic1.gif                    pic1.gif
  1646.        docs/img/pic1.gif                img/pic1.gif img/pic1.gif
  1647.                            ../img/pic1.gif
  1648.        http://site1.com/docs/pic1.gif  
  1649.        http://site1.com/docs/pic1.gif   Note: if the URI
  1650.        reference is really wierd or complicated, it may be
  1651.        worthwhile to first convert it into a "nice" one by
  1652.        calling xmlBuildURI (using 'base') before calling this
  1653.        routine, since this routine (for reasonable efficiency)
  1654.        assumes URI has already been through some validation. """
  1655.     ret = libxml2mod.xmlBuildRelativeURI(URI, base)
  1656.     return ret
  1657.  
  1658. def buildURI(URI, base):
  1659.     """Computes he final URI of the reference done by checking
  1660.        that the given URI is valid, and building the final URI
  1661.        using the base URI. This is processed according to section
  1662.        5.2 of the RFC 2396  5.2. Resolving Relative References to
  1663.        Absolute Form """
  1664.     ret = libxml2mod.xmlBuildURI(URI, base)
  1665.     return ret
  1666.  
  1667. def canonicPath(path):
  1668.     """Constructs a canonic path from the specified path. """
  1669.     ret = libxml2mod.xmlCanonicPath(path)
  1670.     return ret
  1671.  
  1672. def createURI():
  1673.     """Simply creates an empty xmlURI """
  1674.     ret = libxml2mod.xmlCreateURI()
  1675.     if ret is None:raise uriError('xmlCreateURI() failed')
  1676.     return URI(_obj=ret)
  1677.  
  1678. def normalizeURIPath(path):
  1679.     """Applies the 5 normalization steps to a path string--that
  1680.        is, RFC 2396 Section 5.2, steps 6.c through 6.g. 
  1681.        Normalization occurs directly on the string, no new
  1682.        allocation is done """
  1683.     ret = libxml2mod.xmlNormalizeURIPath(path)
  1684.     return ret
  1685.  
  1686. def parseURI(str):
  1687.     """Parse an URI  URI-reference = [ absoluteURI | relativeURI ]
  1688.        [ "#" fragment ] """
  1689.     ret = libxml2mod.xmlParseURI(str)
  1690.     if ret is None:raise uriError('xmlParseURI() failed')
  1691.     return URI(_obj=ret)
  1692.  
  1693. def parseURIRaw(str, raw):
  1694.     """Parse an URI but allows to keep intact the original
  1695.        fragments.  URI-reference = [ absoluteURI | relativeURI ]
  1696.        [ "#" fragment ] """
  1697.     ret = libxml2mod.xmlParseURIRaw(str, raw)
  1698.     if ret is None:raise uriError('xmlParseURIRaw() failed')
  1699.     return URI(_obj=ret)
  1700.  
  1701. #
  1702. # Functions from module valid
  1703. #
  1704.  
  1705. def newValidCtxt():
  1706.     """Allocate a validation context structure. """
  1707.     ret = libxml2mod.xmlNewValidCtxt()
  1708.     if ret is None:raise treeError('xmlNewValidCtxt() failed')
  1709.     return ValidCtxt(_obj=ret)
  1710.  
  1711. def validateNameValue(value):
  1712.     """Validate that the given value match Name production """
  1713.     ret = libxml2mod.xmlValidateNameValue(value)
  1714.     return ret
  1715.  
  1716. def validateNamesValue(value):
  1717.     """Validate that the given value match Names production """
  1718.     ret = libxml2mod.xmlValidateNamesValue(value)
  1719.     return ret
  1720.  
  1721. def validateNmtokenValue(value):
  1722.     """Validate that the given value match Nmtoken production  [
  1723.        VC: Name Token ] """
  1724.     ret = libxml2mod.xmlValidateNmtokenValue(value)
  1725.     return ret
  1726.  
  1727. def validateNmtokensValue(value):
  1728.     """Validate that the given value match Nmtokens production  [
  1729.        VC: Name Token ] """
  1730.     ret = libxml2mod.xmlValidateNmtokensValue(value)
  1731.     return ret
  1732.  
  1733. #
  1734. # Functions from module xmlIO
  1735. #
  1736.  
  1737. def checkFilename(path):
  1738.     """function checks to see if @path is a valid source (file,
  1739.        socket...) for XML.  if stat is not available on the
  1740.        target machine, """
  1741.     ret = libxml2mod.xmlCheckFilename(path)
  1742.     return ret
  1743.  
  1744. def cleanupInputCallbacks():
  1745.     """clears the entire input callback table. this includes the
  1746.        compiled-in I/O. """
  1747.     libxml2mod.xmlCleanupInputCallbacks()
  1748.  
  1749. def cleanupOutputCallbacks():
  1750.     """clears the entire output callback table. this includes the
  1751.        compiled-in I/O callbacks. """
  1752.     libxml2mod.xmlCleanupOutputCallbacks()
  1753.  
  1754. def fileMatch(filename):
  1755.     """input from FILE * """
  1756.     ret = libxml2mod.xmlFileMatch(filename)
  1757.     return ret
  1758.  
  1759. def iOFTPMatch(filename):
  1760.     """check if the URI matches an FTP one """
  1761.     ret = libxml2mod.xmlIOFTPMatch(filename)
  1762.     return ret
  1763.  
  1764. def iOHTTPMatch(filename):
  1765.     """check if the URI matches an HTTP one """
  1766.     ret = libxml2mod.xmlIOHTTPMatch(filename)
  1767.     return ret
  1768.  
  1769. def normalizeWindowsPath(path):
  1770.     """This function is obsolete. Please see xmlURIFromPath in
  1771.        uri.c for a better solution. """
  1772.     ret = libxml2mod.xmlNormalizeWindowsPath(path)
  1773.     return ret
  1774.  
  1775. def parserGetDirectory(filename):
  1776.     """lookup the directory for that file """
  1777.     ret = libxml2mod.xmlParserGetDirectory(filename)
  1778.     return ret
  1779.  
  1780. def popInputCallbacks():
  1781.     """Clear the top input callback from the input stack. this
  1782.        includes the compiled-in I/O. """
  1783.     ret = libxml2mod.xmlPopInputCallbacks()
  1784.     return ret
  1785.  
  1786. def registerDefaultInputCallbacks():
  1787.     """Registers the default compiled-in I/O handlers. """
  1788.     libxml2mod.xmlRegisterDefaultInputCallbacks()
  1789.  
  1790. def registerDefaultOutputCallbacks():
  1791.     """Registers the default compiled-in I/O handlers. """
  1792.     libxml2mod.xmlRegisterDefaultOutputCallbacks()
  1793.  
  1794. def registerHTTPPostCallbacks():
  1795.     """By default, libxml submits HTTP output requests using the
  1796.        "PUT" method. Calling this method changes the HTTP output
  1797.        method to use the "POST" method instead. """
  1798.     libxml2mod.xmlRegisterHTTPPostCallbacks()
  1799.  
  1800. #
  1801. # Functions from module xmlerror
  1802. #
  1803.  
  1804. def lastError():
  1805.     """Get the last global error registered. This is per thread if
  1806.        compiled with thread support. """
  1807.     ret = libxml2mod.xmlGetLastError()
  1808.     if ret is None:raise treeError('xmlGetLastError() failed')
  1809.     return Error(_obj=ret)
  1810.  
  1811. def resetLastError():
  1812.     """Cleanup the last global error registered. For parsing error
  1813.        this does not change the well-formedness result. """
  1814.     libxml2mod.xmlResetLastError()
  1815.  
  1816. #
  1817. # Functions from module xmlreader
  1818. #
  1819.  
  1820. def newTextReaderFilename(URI):
  1821.     """Create an xmlTextReader structure fed with the resource at
  1822.        @URI """
  1823.     ret = libxml2mod.xmlNewTextReaderFilename(URI)
  1824.     if ret is None:raise treeError('xmlNewTextReaderFilename() failed')
  1825.     return xmlTextReader(_obj=ret)
  1826.  
  1827. def readerForDoc(cur, URL, encoding, options):
  1828.     """Create an xmltextReader for an XML in-memory document. The
  1829.        parsing flags @options are a combination of
  1830.        xmlParserOption. """
  1831.     ret = libxml2mod.xmlReaderForDoc(cur, URL, encoding, options)
  1832.     if ret is None:raise treeError('xmlReaderForDoc() failed')
  1833.     return xmlTextReader(_obj=ret)
  1834.  
  1835. def readerForFd(fd, URL, encoding, options):
  1836.     """Create an xmltextReader for an XML from a file descriptor.
  1837.        The parsing flags @options are a combination of
  1838.        xmlParserOption. NOTE that the file descriptor will not be
  1839.        closed when the reader is closed or reset. """
  1840.     ret = libxml2mod.xmlReaderForFd(fd, URL, encoding, options)
  1841.     if ret is None:raise treeError('xmlReaderForFd() failed')
  1842.     return xmlTextReader(_obj=ret)
  1843.  
  1844. def readerForFile(filename, encoding, options):
  1845.     """parse an XML file from the filesystem or the network. The
  1846.        parsing flags @options are a combination of
  1847.        xmlParserOption. """
  1848.     ret = libxml2mod.xmlReaderForFile(filename, encoding, options)
  1849.     if ret is None:raise treeError('xmlReaderForFile() failed')
  1850.     return xmlTextReader(_obj=ret)
  1851.  
  1852. def readerForMemory(buffer, size, URL, encoding, options):
  1853.     """Create an xmltextReader for an XML in-memory document. The
  1854.        parsing flags @options are a combination of
  1855.        xmlParserOption. """
  1856.     ret = libxml2mod.xmlReaderForMemory(buffer, size, URL, encoding, options)
  1857.     if ret is None:raise treeError('xmlReaderForMemory() failed')
  1858.     return xmlTextReader(_obj=ret)
  1859.  
  1860. #
  1861. # Functions from module xmlregexp
  1862. #
  1863.  
  1864. def regexpCompile(regexp):
  1865.     """Parses a regular expression conforming to XML Schemas Part
  1866.        2 Datatype Appendix F and builds an automata suitable for
  1867.        testing strings against that regular expression """
  1868.     ret = libxml2mod.xmlRegexpCompile(regexp)
  1869.     if ret is None:raise treeError('xmlRegexpCompile() failed')
  1870.     return xmlReg(_obj=ret)
  1871.  
  1872. #
  1873. # Functions from module xmlschemas
  1874. #
  1875.  
  1876. def schemaNewMemParserCtxt(buffer, size):
  1877.     """Create an XML Schemas parse context for that memory buffer
  1878.        expected to contain an XML Schemas file. """
  1879.     ret = libxml2mod.xmlSchemaNewMemParserCtxt(buffer, size)
  1880.     if ret is None:raise parserError('xmlSchemaNewMemParserCtxt() failed')
  1881.     return SchemaParserCtxt(_obj=ret)
  1882.  
  1883. def schemaNewParserCtxt(URL):
  1884.     """Create an XML Schemas parse context for that file/resource
  1885.        expected to contain an XML Schemas file. """
  1886.     ret = libxml2mod.xmlSchemaNewParserCtxt(URL)
  1887.     if ret is None:raise parserError('xmlSchemaNewParserCtxt() failed')
  1888.     return SchemaParserCtxt(_obj=ret)
  1889.  
  1890. #
  1891. # Functions from module xmlschemastypes
  1892. #
  1893.  
  1894. def schemaCleanupTypes():
  1895.     """Cleanup the default XML Schemas type library """
  1896.     libxml2mod.xmlSchemaCleanupTypes()
  1897.  
  1898. def schemaCollapseString(value):
  1899.     """Removes and normalize white spaces in the string """
  1900.     ret = libxml2mod.xmlSchemaCollapseString(value)
  1901.     return ret
  1902.  
  1903. def schemaInitTypes():
  1904.     """Initialize the default XML Schemas type library """
  1905.     libxml2mod.xmlSchemaInitTypes()
  1906.  
  1907. def schemaWhiteSpaceReplace(value):
  1908.     """Replaces 0xd, 0x9 and 0xa with a space. """
  1909.     ret = libxml2mod.xmlSchemaWhiteSpaceReplace(value)
  1910.     return ret
  1911.  
  1912. #
  1913. # Functions from module xmlstring
  1914. #
  1915.  
  1916. def UTF8Charcmp(utf1, utf2):
  1917.     """compares the two UCS4 values """
  1918.     ret = libxml2mod.xmlUTF8Charcmp(utf1, utf2)
  1919.     return ret
  1920.  
  1921. def UTF8Size(utf):
  1922.     """calculates the internal size of a UTF8 character """
  1923.     ret = libxml2mod.xmlUTF8Size(utf)
  1924.     return ret
  1925.  
  1926. def UTF8Strlen(utf):
  1927.     """compute the length of an UTF8 string, it doesn't do a full
  1928.        UTF8 checking of the content of the string. """
  1929.     ret = libxml2mod.xmlUTF8Strlen(utf)
  1930.     return ret
  1931.  
  1932. def UTF8Strloc(utf, utfchar):
  1933.     """a function to provide the relative location of a UTF8 char """
  1934.     ret = libxml2mod.xmlUTF8Strloc(utf, utfchar)
  1935.     return ret
  1936.  
  1937. def UTF8Strndup(utf, len):
  1938.     """a strndup for array of UTF8's """
  1939.     ret = libxml2mod.xmlUTF8Strndup(utf, len)
  1940.     return ret
  1941.  
  1942. def UTF8Strpos(utf, pos):
  1943.     """a function to provide the equivalent of fetching a
  1944.        character from a string array """
  1945.     ret = libxml2mod.xmlUTF8Strpos(utf, pos)
  1946.     return ret
  1947.  
  1948. def UTF8Strsize(utf, len):
  1949.     """storage size of an UTF8 string the behaviour is not
  1950.        garanteed if the input string is not UTF-8 """
  1951.     ret = libxml2mod.xmlUTF8Strsize(utf, len)
  1952.     return ret
  1953.  
  1954. def UTF8Strsub(utf, start, len):
  1955.     """Create a substring from a given UTF-8 string Note: 
  1956.        positions are given in units of UTF-8 chars """
  1957.     ret = libxml2mod.xmlUTF8Strsub(utf, start, len)
  1958.     return ret
  1959.  
  1960. def checkUTF8(utf):
  1961.     """Checks @utf for being valid UTF-8. @utf is assumed to be
  1962.        null-terminated. This function is not super-strict, as it
  1963.        will allow longer UTF-8 sequences than necessary. Note
  1964.        that Java is capable of producing these sequences if
  1965.        provoked. Also note, this routine checks for the 4-byte
  1966.        maximum size, but does not check for 0x10ffff maximum
  1967.        value. """
  1968.     ret = libxml2mod.xmlCheckUTF8(utf)
  1969.     return ret
  1970.  
  1971. #
  1972. # Functions from module xmlunicode
  1973. #
  1974.  
  1975. def uCSIsAegeanNumbers(code):
  1976.     """Check whether the character is part of AegeanNumbers UCS
  1977.        Block """
  1978.     ret = libxml2mod.xmlUCSIsAegeanNumbers(code)
  1979.     return ret
  1980.  
  1981. def uCSIsAlphabeticPresentationForms(code):
  1982.     """Check whether the character is part of
  1983.        AlphabeticPresentationForms UCS Block """
  1984.     ret = libxml2mod.xmlUCSIsAlphabeticPresentationForms(code)
  1985.     return ret
  1986.  
  1987. def uCSIsArabic(code):
  1988.     """Check whether the character is part of Arabic UCS Block """
  1989.     ret = libxml2mod.xmlUCSIsArabic(code)
  1990.     return ret
  1991.  
  1992. def uCSIsArabicPresentationFormsA(code):
  1993.     """Check whether the character is part of
  1994.        ArabicPresentationForms-A UCS Block """
  1995.     ret = libxml2mod.xmlUCSIsArabicPresentationFormsA(code)
  1996.     return ret
  1997.  
  1998. def uCSIsArabicPresentationFormsB(code):
  1999.     """Check whether the character is part of
  2000.        ArabicPresentationForms-B UCS Block """
  2001.     ret = libxml2mod.xmlUCSIsArabicPresentationFormsB(code)
  2002.     return ret
  2003.  
  2004. def uCSIsArmenian(code):
  2005.     """Check whether the character is part of Armenian UCS Block """
  2006.     ret = libxml2mod.xmlUCSIsArmenian(code)
  2007.     return ret
  2008.  
  2009. def uCSIsArrows(code):
  2010.     """Check whether the character is part of Arrows UCS Block """
  2011.     ret = libxml2mod.xmlUCSIsArrows(code)
  2012.     return ret
  2013.  
  2014. def uCSIsBasicLatin(code):
  2015.     """Check whether the character is part of BasicLatin UCS Block """
  2016.     ret = libxml2mod.xmlUCSIsBasicLatin(code)
  2017.     return ret
  2018.  
  2019. def uCSIsBengali(code):
  2020.     """Check whether the character is part of Bengali UCS Block """
  2021.     ret = libxml2mod.xmlUCSIsBengali(code)
  2022.     return ret
  2023.  
  2024. def uCSIsBlock(code, block):
  2025.     """Check whether the character is part of the UCS Block """
  2026.     ret = libxml2mod.xmlUCSIsBlock(code, block)
  2027.     return ret
  2028.  
  2029. def uCSIsBlockElements(code):
  2030.     """Check whether the character is part of BlockElements UCS
  2031.        Block """
  2032.     ret = libxml2mod.xmlUCSIsBlockElements(code)
  2033.     return ret
  2034.  
  2035. def uCSIsBopomofo(code):
  2036.     """Check whether the character is part of Bopomofo UCS Block """
  2037.     ret = libxml2mod.xmlUCSIsBopomofo(code)
  2038.     return ret
  2039.  
  2040. def uCSIsBopomofoExtended(code):
  2041.     """Check whether the character is part of BopomofoExtended UCS
  2042.        Block """
  2043.     ret = libxml2mod.xmlUCSIsBopomofoExtended(code)
  2044.     return ret
  2045.  
  2046. def uCSIsBoxDrawing(code):
  2047.     """Check whether the character is part of BoxDrawing UCS Block """
  2048.     ret = libxml2mod.xmlUCSIsBoxDrawing(code)
  2049.     return ret
  2050.  
  2051. def uCSIsBraillePatterns(code):
  2052.     """Check whether the character is part of BraillePatterns UCS
  2053.        Block """
  2054.     ret = libxml2mod.xmlUCSIsBraillePatterns(code)
  2055.     return ret
  2056.  
  2057. def uCSIsBuhid(code):
  2058.     """Check whether the character is part of Buhid UCS Block """
  2059.     ret = libxml2mod.xmlUCSIsBuhid(code)
  2060.     return ret
  2061.  
  2062. def uCSIsByzantineMusicalSymbols(code):
  2063.     """Check whether the character is part of
  2064.        ByzantineMusicalSymbols UCS Block """
  2065.     ret = libxml2mod.xmlUCSIsByzantineMusicalSymbols(code)
  2066.     return ret
  2067.  
  2068. def uCSIsCJKCompatibility(code):
  2069.     """Check whether the character is part of CJKCompatibility UCS
  2070.        Block """
  2071.     ret = libxml2mod.xmlUCSIsCJKCompatibility(code)
  2072.     return ret
  2073.  
  2074. def uCSIsCJKCompatibilityForms(code):
  2075.     """Check whether the character is part of
  2076.        CJKCompatibilityForms UCS Block """
  2077.     ret = libxml2mod.xmlUCSIsCJKCompatibilityForms(code)
  2078.     return ret
  2079.  
  2080. def uCSIsCJKCompatibilityIdeographs(code):
  2081.     """Check whether the character is part of
  2082.        CJKCompatibilityIdeographs UCS Block """
  2083.     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographs(code)
  2084.     return ret
  2085.  
  2086. def uCSIsCJKCompatibilityIdeographsSupplement(code):
  2087.     """Check whether the character is part of
  2088.        CJKCompatibilityIdeographsSupplement UCS Block """
  2089.     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographsSupplement(code)
  2090.     return ret
  2091.  
  2092. def uCSIsCJKRadicalsSupplement(code):
  2093.     """Check whether the character is part of
  2094.        CJKRadicalsSupplement UCS Block """
  2095.     ret = libxml2mod.xmlUCSIsCJKRadicalsSupplement(code)
  2096.     return ret
  2097.  
  2098. def uCSIsCJKSymbolsandPunctuation(code):
  2099.     """Check whether the character is part of
  2100.        CJKSymbolsandPunctuation UCS Block """
  2101.     ret = libxml2mod.xmlUCSIsCJKSymbolsandPunctuation(code)
  2102.     return ret
  2103.  
  2104. def uCSIsCJKUnifiedIdeographs(code):
  2105.     """Check whether the character is part of CJKUnifiedIdeographs
  2106.        UCS Block """
  2107.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographs(code)
  2108.     return ret
  2109.  
  2110. def uCSIsCJKUnifiedIdeographsExtensionA(code):
  2111.     """Check whether the character is part of
  2112.        CJKUnifiedIdeographsExtensionA UCS Block """
  2113.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionA(code)
  2114.     return ret
  2115.  
  2116. def uCSIsCJKUnifiedIdeographsExtensionB(code):
  2117.     """Check whether the character is part of
  2118.        CJKUnifiedIdeographsExtensionB UCS Block """
  2119.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionB(code)
  2120.     return ret
  2121.  
  2122. def uCSIsCat(code, cat):
  2123.     """Check whether the character is part of the UCS Category """
  2124.     ret = libxml2mod.xmlUCSIsCat(code, cat)
  2125.     return ret
  2126.  
  2127. def uCSIsCatC(code):
  2128.     """Check whether the character is part of C UCS Category """
  2129.     ret = libxml2mod.xmlUCSIsCatC(code)
  2130.     return ret
  2131.  
  2132. def uCSIsCatCc(code):
  2133.     """Check whether the character is part of Cc UCS Category """
  2134.     ret = libxml2mod.xmlUCSIsCatCc(code)
  2135.     return ret
  2136.  
  2137. def uCSIsCatCf(code):
  2138.     """Check whether the character is part of Cf UCS Category """
  2139.     ret = libxml2mod.xmlUCSIsCatCf(code)
  2140.     return ret
  2141.  
  2142. def uCSIsCatCo(code):
  2143.     """Check whether the character is part of Co UCS Category """
  2144.     ret = libxml2mod.xmlUCSIsCatCo(code)
  2145.     return ret
  2146.  
  2147. def uCSIsCatCs(code):
  2148.     """Check whether the character is part of Cs UCS Category """
  2149.     ret = libxml2mod.xmlUCSIsCatCs(code)
  2150.     return ret
  2151.  
  2152. def uCSIsCatL(code):
  2153.     """Check whether the character is part of L UCS Category """
  2154.     ret = libxml2mod.xmlUCSIsCatL(code)
  2155.     return ret
  2156.  
  2157. def uCSIsCatLl(code):
  2158.     """Check whether the character is part of Ll UCS Category """
  2159.     ret = libxml2mod.xmlUCSIsCatLl(code)
  2160.     return ret
  2161.  
  2162. def uCSIsCatLm(code):
  2163.     """Check whether the character is part of Lm UCS Category """
  2164.     ret = libxml2mod.xmlUCSIsCatLm(code)
  2165.     return ret
  2166.  
  2167. def uCSIsCatLo(code):
  2168.     """Check whether the character is part of Lo UCS Category """
  2169.     ret = libxml2mod.xmlUCSIsCatLo(code)
  2170.     return ret
  2171.  
  2172. def uCSIsCatLt(code):
  2173.     """Check whether the character is part of Lt UCS Category """
  2174.     ret = libxml2mod.xmlUCSIsCatLt(code)
  2175.     return ret
  2176.  
  2177. def uCSIsCatLu(code):
  2178.     """Check whether the character is part of Lu UCS Category """
  2179.     ret = libxml2mod.xmlUCSIsCatLu(code)
  2180.     return ret
  2181.  
  2182. def uCSIsCatM(code):
  2183.     """Check whether the character is part of M UCS Category """
  2184.     ret = libxml2mod.xmlUCSIsCatM(code)
  2185.     return ret
  2186.  
  2187. def uCSIsCatMc(code):
  2188.     """Check whether the character is part of Mc UCS Category """
  2189.     ret = libxml2mod.xmlUCSIsCatMc(code)
  2190.     return ret
  2191.  
  2192. def uCSIsCatMe(code):
  2193.     """Check whether the character is part of Me UCS Category """
  2194.     ret = libxml2mod.xmlUCSIsCatMe(code)
  2195.     return ret
  2196.  
  2197. def uCSIsCatMn(code):
  2198.     """Check whether the character is part of Mn UCS Category """
  2199.     ret = libxml2mod.xmlUCSIsCatMn(code)
  2200.     return ret
  2201.  
  2202. def uCSIsCatN(code):
  2203.     """Check whether the character is part of N UCS Category """
  2204.     ret = libxml2mod.xmlUCSIsCatN(code)
  2205.     return ret
  2206.  
  2207. def uCSIsCatNd(code):
  2208.     """Check whether the character is part of Nd UCS Category """
  2209.     ret = libxml2mod.xmlUCSIsCatNd(code)
  2210.     return ret
  2211.  
  2212. def uCSIsCatNl(code):
  2213.     """Check whether the character is part of Nl UCS Category """
  2214.     ret = libxml2mod.xmlUCSIsCatNl(code)
  2215.     return ret
  2216.  
  2217. def uCSIsCatNo(code):
  2218.     """Check whether the character is part of No UCS Category """
  2219.     ret = libxml2mod.xmlUCSIsCatNo(code)
  2220.     return ret
  2221.  
  2222. def uCSIsCatP(code):
  2223.     """Check whether the character is part of P UCS Category """
  2224.     ret = libxml2mod.xmlUCSIsCatP(code)
  2225.     return ret
  2226.  
  2227. def uCSIsCatPc(code):
  2228.     """Check whether the character is part of Pc UCS Category """
  2229.     ret = libxml2mod.xmlUCSIsCatPc(code)
  2230.     return ret
  2231.  
  2232. def uCSIsCatPd(code):
  2233.     """Check whether the character is part of Pd UCS Category """
  2234.     ret = libxml2mod.xmlUCSIsCatPd(code)
  2235.     return ret
  2236.  
  2237. def uCSIsCatPe(code):
  2238.     """Check whether the character is part of Pe UCS Category """
  2239.     ret = libxml2mod.xmlUCSIsCatPe(code)
  2240.     return ret
  2241.  
  2242. def uCSIsCatPf(code):
  2243.     """Check whether the character is part of Pf UCS Category """
  2244.     ret = libxml2mod.xmlUCSIsCatPf(code)
  2245.     return ret
  2246.  
  2247. def uCSIsCatPi(code):
  2248.     """Check whether the character is part of Pi UCS Category """
  2249.     ret = libxml2mod.xmlUCSIsCatPi(code)
  2250.     return ret
  2251.  
  2252. def uCSIsCatPo(code):
  2253.     """Check whether the character is part of Po UCS Category """
  2254.     ret = libxml2mod.xmlUCSIsCatPo(code)
  2255.     return ret
  2256.  
  2257. def uCSIsCatPs(code):
  2258.     """Check whether the character is part of Ps UCS Category """
  2259.     ret = libxml2mod.xmlUCSIsCatPs(code)
  2260.     return ret
  2261.  
  2262. def uCSIsCatS(code):
  2263.     """Check whether the character is part of S UCS Category """
  2264.     ret = libxml2mod.xmlUCSIsCatS(code)
  2265.     return ret
  2266.  
  2267. def uCSIsCatSc(code):
  2268.     """Check whether the character is part of Sc UCS Category """
  2269.     ret = libxml2mod.xmlUCSIsCatSc(code)
  2270.     return ret
  2271.  
  2272. def uCSIsCatSk(code):
  2273.     """Check whether the character is part of Sk UCS Category """
  2274.     ret = libxml2mod.xmlUCSIsCatSk(code)
  2275.     return ret
  2276.  
  2277. def uCSIsCatSm(code):
  2278.     """Check whether the character is part of Sm UCS Category """
  2279.     ret = libxml2mod.xmlUCSIsCatSm(code)
  2280.     return ret
  2281.  
  2282. def uCSIsCatSo(code):
  2283.     """Check whether the character is part of So UCS Category """
  2284.     ret = libxml2mod.xmlUCSIsCatSo(code)
  2285.     return ret
  2286.  
  2287. def uCSIsCatZ(code):
  2288.     """Check whether the character is part of Z UCS Category """
  2289.     ret = libxml2mod.xmlUCSIsCatZ(code)
  2290.     return ret
  2291.  
  2292. def uCSIsCatZl(code):
  2293.     """Check whether the character is part of Zl UCS Category """
  2294.     ret = libxml2mod.xmlUCSIsCatZl(code)
  2295.     return ret
  2296.  
  2297. def uCSIsCatZp(code):
  2298.     """Check whether the character is part of Zp UCS Category """
  2299.     ret = libxml2mod.xmlUCSIsCatZp(code)
  2300.     return ret
  2301.  
  2302. def uCSIsCatZs(code):
  2303.     """Check whether the character is part of Zs UCS Category """
  2304.     ret = libxml2mod.xmlUCSIsCatZs(code)
  2305.     return ret
  2306.  
  2307. def uCSIsCherokee(code):
  2308.     """Check whether the character is part of Cherokee UCS Block """
  2309.     ret = libxml2mod.xmlUCSIsCherokee(code)
  2310.     return ret
  2311.  
  2312. def uCSIsCombiningDiacriticalMarks(code):
  2313.     """Check whether the character is part of
  2314.        CombiningDiacriticalMarks UCS Block """
  2315.     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarks(code)
  2316.     return ret
  2317.  
  2318. def uCSIsCombiningDiacriticalMarksforSymbols(code):
  2319.     """Check whether the character is part of
  2320.        CombiningDiacriticalMarksforSymbols UCS Block """
  2321.     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarksforSymbols(code)
  2322.     return ret
  2323.  
  2324. def uCSIsCombiningHalfMarks(code):
  2325.     """Check whether the character is part of CombiningHalfMarks
  2326.        UCS Block """
  2327.     ret = libxml2mod.xmlUCSIsCombiningHalfMarks(code)
  2328.     return ret
  2329.  
  2330. def uCSIsCombiningMarksforSymbols(code):
  2331.     """Check whether the character is part of
  2332.        CombiningMarksforSymbols UCS Block """
  2333.     ret = libxml2mod.xmlUCSIsCombiningMarksforSymbols(code)
  2334.     return ret
  2335.  
  2336. def uCSIsControlPictures(code):
  2337.     """Check whether the character is part of ControlPictures UCS
  2338.        Block """
  2339.     ret = libxml2mod.xmlUCSIsControlPictures(code)
  2340.     return ret
  2341.  
  2342. def uCSIsCurrencySymbols(code):
  2343.     """Check whether the character is part of CurrencySymbols UCS
  2344.        Block """
  2345.     ret = libxml2mod.xmlUCSIsCurrencySymbols(code)
  2346.     return ret
  2347.  
  2348. def uCSIsCypriotSyllabary(code):
  2349.     """Check whether the character is part of CypriotSyllabary UCS
  2350.        Block """
  2351.     ret = libxml2mod.xmlUCSIsCypriotSyllabary(code)
  2352.     return ret
  2353.  
  2354. def uCSIsCyrillic(code):
  2355.     """Check whether the character is part of Cyrillic UCS Block """
  2356.     ret = libxml2mod.xmlUCSIsCyrillic(code)
  2357.     return ret
  2358.  
  2359. def uCSIsCyrillicSupplement(code):
  2360.     """Check whether the character is part of CyrillicSupplement
  2361.        UCS Block """
  2362.     ret = libxml2mod.xmlUCSIsCyrillicSupplement(code)
  2363.     return ret
  2364.  
  2365. def uCSIsDeseret(code):
  2366.     """Check whether the character is part of Deseret UCS Block """
  2367.     ret = libxml2mod.xmlUCSIsDeseret(code)
  2368.     return ret
  2369.  
  2370. def uCSIsDevanagari(code):
  2371.     """Check whether the character is part of Devanagari UCS Block """
  2372.     ret = libxml2mod.xmlUCSIsDevanagari(code)
  2373.     return ret
  2374.  
  2375. def uCSIsDingbats(code):
  2376.     """Check whether the character is part of Dingbats UCS Block """
  2377.     ret = libxml2mod.xmlUCSIsDingbats(code)
  2378.     return ret
  2379.  
  2380. def uCSIsEnclosedAlphanumerics(code):
  2381.     """Check whether the character is part of
  2382.        EnclosedAlphanumerics UCS Block """
  2383.     ret = libxml2mod.xmlUCSIsEnclosedAlphanumerics(code)
  2384.     return ret
  2385.  
  2386. def uCSIsEnclosedCJKLettersandMonths(code):
  2387.     """Check whether the character is part of
  2388.        EnclosedCJKLettersandMonths UCS Block """
  2389.     ret = libxml2mod.xmlUCSIsEnclosedCJKLettersandMonths(code)
  2390.     return ret
  2391.  
  2392. def uCSIsEthiopic(code):
  2393.     """Check whether the character is part of Ethiopic UCS Block """
  2394.     ret = libxml2mod.xmlUCSIsEthiopic(code)
  2395.     return ret
  2396.  
  2397. def uCSIsGeneralPunctuation(code):
  2398.     """Check whether the character is part of GeneralPunctuation
  2399.        UCS Block """
  2400.     ret = libxml2mod.xmlUCSIsGeneralPunctuation(code)
  2401.     return ret
  2402.  
  2403. def uCSIsGeometricShapes(code):
  2404.     """Check whether the character is part of GeometricShapes UCS
  2405.        Block """
  2406.     ret = libxml2mod.xmlUCSIsGeometricShapes(code)
  2407.     return ret
  2408.  
  2409. def uCSIsGeorgian(code):
  2410.     """Check whether the character is part of Georgian UCS Block """
  2411.     ret = libxml2mod.xmlUCSIsGeorgian(code)
  2412.     return ret
  2413.  
  2414. def uCSIsGothic(code):
  2415.     """Check whether the character is part of Gothic UCS Block """
  2416.     ret = libxml2mod.xmlUCSIsGothic(code)
  2417.     return ret
  2418.  
  2419. def uCSIsGreek(code):
  2420.     """Check whether the character is part of Greek UCS Block """
  2421.     ret = libxml2mod.xmlUCSIsGreek(code)
  2422.     return ret
  2423.  
  2424. def uCSIsGreekExtended(code):
  2425.     """Check whether the character is part of GreekExtended UCS
  2426.        Block """
  2427.     ret = libxml2mod.xmlUCSIsGreekExtended(code)
  2428.     return ret
  2429.  
  2430. def uCSIsGreekandCoptic(code):
  2431.     """Check whether the character is part of GreekandCoptic UCS
  2432.        Block """
  2433.     ret = libxml2mod.xmlUCSIsGreekandCoptic(code)
  2434.     return ret
  2435.  
  2436. def uCSIsGujarati(code):
  2437.     """Check whether the character is part of Gujarati UCS Block """
  2438.     ret = libxml2mod.xmlUCSIsGujarati(code)
  2439.     return ret
  2440.  
  2441. def uCSIsGurmukhi(code):
  2442.     """Check whether the character is part of Gurmukhi UCS Block """
  2443.     ret = libxml2mod.xmlUCSIsGurmukhi(code)
  2444.     return ret
  2445.  
  2446. def uCSIsHalfwidthandFullwidthForms(code):
  2447.     """Check whether the character is part of
  2448.        HalfwidthandFullwidthForms UCS Block """
  2449.     ret = libxml2mod.xmlUCSIsHalfwidthandFullwidthForms(code)
  2450.     return ret
  2451.  
  2452. def uCSIsHangulCompatibilityJamo(code):
  2453.     """Check whether the character is part of
  2454.        HangulCompatibilityJamo UCS Block """
  2455.     ret = libxml2mod.xmlUCSIsHangulCompatibilityJamo(code)
  2456.     return ret
  2457.  
  2458. def uCSIsHangulJamo(code):
  2459.     """Check whether the character is part of HangulJamo UCS Block """
  2460.     ret = libxml2mod.xmlUCSIsHangulJamo(code)
  2461.     return ret
  2462.  
  2463. def uCSIsHangulSyllables(code):
  2464.     """Check whether the character is part of HangulSyllables UCS
  2465.        Block """
  2466.     ret = libxml2mod.xmlUCSIsHangulSyllables(code)
  2467.     return ret
  2468.  
  2469. def uCSIsHanunoo(code):
  2470.     """Check whether the character is part of Hanunoo UCS Block """
  2471.     ret = libxml2mod.xmlUCSIsHanunoo(code)
  2472.     return ret
  2473.  
  2474. def uCSIsHebrew(code):
  2475.     """Check whether the character is part of Hebrew UCS Block """
  2476.     ret = libxml2mod.xmlUCSIsHebrew(code)
  2477.     return ret
  2478.  
  2479. def uCSIsHighPrivateUseSurrogates(code):
  2480.     """Check whether the character is part of
  2481.        HighPrivateUseSurrogates UCS Block """
  2482.     ret = libxml2mod.xmlUCSIsHighPrivateUseSurrogates(code)
  2483.     return ret
  2484.  
  2485. def uCSIsHighSurrogates(code):
  2486.     """Check whether the character is part of HighSurrogates UCS
  2487.        Block """
  2488.     ret = libxml2mod.xmlUCSIsHighSurrogates(code)
  2489.     return ret
  2490.  
  2491. def uCSIsHiragana(code):
  2492.     """Check whether the character is part of Hiragana UCS Block """
  2493.     ret = libxml2mod.xmlUCSIsHiragana(code)
  2494.     return ret
  2495.  
  2496. def uCSIsIPAExtensions(code):
  2497.     """Check whether the character is part of IPAExtensions UCS
  2498.        Block """
  2499.     ret = libxml2mod.xmlUCSIsIPAExtensions(code)
  2500.     return ret
  2501.  
  2502. def uCSIsIdeographicDescriptionCharacters(code):
  2503.     """Check whether the character is part of
  2504.        IdeographicDescriptionCharacters UCS Block """
  2505.     ret = libxml2mod.xmlUCSIsIdeographicDescriptionCharacters(code)
  2506.     return ret
  2507.  
  2508. def uCSIsKanbun(code):
  2509.     """Check whether the character is part of Kanbun UCS Block """
  2510.     ret = libxml2mod.xmlUCSIsKanbun(code)
  2511.     return ret
  2512.  
  2513. def uCSIsKangxiRadicals(code):
  2514.     """Check whether the character is part of KangxiRadicals UCS
  2515.        Block """
  2516.     ret = libxml2mod.xmlUCSIsKangxiRadicals(code)
  2517.     return ret
  2518.  
  2519. def uCSIsKannada(code):
  2520.     """Check whether the character is part of Kannada UCS Block """
  2521.     ret = libxml2mod.xmlUCSIsKannada(code)
  2522.     return ret
  2523.  
  2524. def uCSIsKatakana(code):
  2525.     """Check whether the character is part of Katakana UCS Block """
  2526.     ret = libxml2mod.xmlUCSIsKatakana(code)
  2527.     return ret
  2528.  
  2529. def uCSIsKatakanaPhoneticExtensions(code):
  2530.     """Check whether the character is part of
  2531.        KatakanaPhoneticExtensions UCS Block """
  2532.     ret = libxml2mod.xmlUCSIsKatakanaPhoneticExtensions(code)
  2533.     return ret
  2534.  
  2535. def uCSIsKhmer(code):
  2536.     """Check whether the character is part of Khmer UCS Block """
  2537.     ret = libxml2mod.xmlUCSIsKhmer(code)
  2538.     return ret
  2539.  
  2540. def uCSIsKhmerSymbols(code):
  2541.     """Check whether the character is part of KhmerSymbols UCS
  2542.        Block """
  2543.     ret = libxml2mod.xmlUCSIsKhmerSymbols(code)
  2544.     return ret
  2545.  
  2546. def uCSIsLao(code):
  2547.     """Check whether the character is part of Lao UCS Block """
  2548.     ret = libxml2mod.xmlUCSIsLao(code)
  2549.     return ret
  2550.  
  2551. def uCSIsLatin1Supplement(code):
  2552.     """Check whether the character is part of Latin-1Supplement
  2553.        UCS Block """
  2554.     ret = libxml2mod.xmlUCSIsLatin1Supplement(code)
  2555.     return ret
  2556.  
  2557. def uCSIsLatinExtendedA(code):
  2558.     """Check whether the character is part of LatinExtended-A UCS
  2559.        Block """
  2560.     ret = libxml2mod.xmlUCSIsLatinExtendedA(code)
  2561.     return ret
  2562.  
  2563. def uCSIsLatinExtendedAdditional(code):
  2564.     """Check whether the character is part of
  2565.        LatinExtendedAdditional UCS Block """
  2566.     ret = libxml2mod.xmlUCSIsLatinExtendedAdditional(code)
  2567.     return ret
  2568.  
  2569. def uCSIsLatinExtendedB(code):
  2570.     """Check whether the character is part of LatinExtended-B UCS
  2571.        Block """
  2572.     ret = libxml2mod.xmlUCSIsLatinExtendedB(code)
  2573.     return ret
  2574.  
  2575. def uCSIsLetterlikeSymbols(code):
  2576.     """Check whether the character is part of LetterlikeSymbols
  2577.        UCS Block """
  2578.     ret = libxml2mod.xmlUCSIsLetterlikeSymbols(code)
  2579.     return ret
  2580.  
  2581. def uCSIsLimbu(code):
  2582.     """Check whether the character is part of Limbu UCS Block """
  2583.     ret = libxml2mod.xmlUCSIsLimbu(code)
  2584.     return ret
  2585.  
  2586. def uCSIsLinearBIdeograms(code):
  2587.     """Check whether the character is part of LinearBIdeograms UCS
  2588.        Block """
  2589.     ret = libxml2mod.xmlUCSIsLinearBIdeograms(code)
  2590.     return ret
  2591.  
  2592. def uCSIsLinearBSyllabary(code):
  2593.     """Check whether the character is part of LinearBSyllabary UCS
  2594.        Block """
  2595.     ret = libxml2mod.xmlUCSIsLinearBSyllabary(code)
  2596.     return ret
  2597.  
  2598. def uCSIsLowSurrogates(code):
  2599.     """Check whether the character is part of LowSurrogates UCS
  2600.        Block """
  2601.     ret = libxml2mod.xmlUCSIsLowSurrogates(code)
  2602.     return ret
  2603.  
  2604. def uCSIsMalayalam(code):
  2605.     """Check whether the character is part of Malayalam UCS Block """
  2606.     ret = libxml2mod.xmlUCSIsMalayalam(code)
  2607.     return ret
  2608.  
  2609. def uCSIsMathematicalAlphanumericSymbols(code):
  2610.     """Check whether the character is part of
  2611.        MathematicalAlphanumericSymbols UCS Block """
  2612.     ret = libxml2mod.xmlUCSIsMathematicalAlphanumericSymbols(code)
  2613.     return ret
  2614.  
  2615. def uCSIsMathematicalOperators(code):
  2616.     """Check whether the character is part of
  2617.        MathematicalOperators UCS Block """
  2618.     ret = libxml2mod.xmlUCSIsMathematicalOperators(code)
  2619.     return ret
  2620.  
  2621. def uCSIsMiscellaneousMathematicalSymbolsA(code):
  2622.     """Check whether the character is part of
  2623.        MiscellaneousMathematicalSymbols-A UCS Block """
  2624.     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsA(code)
  2625.     return ret
  2626.  
  2627. def uCSIsMiscellaneousMathematicalSymbolsB(code):
  2628.     """Check whether the character is part of
  2629.        MiscellaneousMathematicalSymbols-B UCS Block """
  2630.     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsB(code)
  2631.     return ret
  2632.  
  2633. def uCSIsMiscellaneousSymbols(code):
  2634.     """Check whether the character is part of MiscellaneousSymbols
  2635.        UCS Block """
  2636.     ret = libxml2mod.xmlUCSIsMiscellaneousSymbols(code)
  2637.     return ret
  2638.  
  2639. def uCSIsMiscellaneousSymbolsandArrows(code):
  2640.     """Check whether the character is part of
  2641.        MiscellaneousSymbolsandArrows UCS Block """
  2642.     ret = libxml2mod.xmlUCSIsMiscellaneousSymbolsandArrows(code)
  2643.     return ret
  2644.  
  2645. def uCSIsMiscellaneousTechnical(code):
  2646.     """Check whether the character is part of
  2647.        MiscellaneousTechnical UCS Block """
  2648.     ret = libxml2mod.xmlUCSIsMiscellaneousTechnical(code)
  2649.     return ret
  2650.  
  2651. def uCSIsMongolian(code):
  2652.     """Check whether the character is part of Mongolian UCS Block """
  2653.     ret = libxml2mod.xmlUCSIsMongolian(code)
  2654.     return ret
  2655.  
  2656. def uCSIsMusicalSymbols(code):
  2657.     """Check whether the character is part of MusicalSymbols UCS
  2658.        Block """
  2659.     ret = libxml2mod.xmlUCSIsMusicalSymbols(code)
  2660.     return ret
  2661.  
  2662. def uCSIsMyanmar(code):
  2663.     """Check whether the character is part of Myanmar UCS Block """
  2664.     ret = libxml2mod.xmlUCSIsMyanmar(code)
  2665.     return ret
  2666.  
  2667. def uCSIsNumberForms(code):
  2668.     """Check whether the character is part of NumberForms UCS Block """
  2669.     ret = libxml2mod.xmlUCSIsNumberForms(code)
  2670.     return ret
  2671.  
  2672. def uCSIsOgham(code):
  2673.     """Check whether the character is part of Ogham UCS Block """
  2674.     ret = libxml2mod.xmlUCSIsOgham(code)
  2675.     return ret
  2676.  
  2677. def uCSIsOldItalic(code):
  2678.     """Check whether the character is part of OldItalic UCS Block """
  2679.     ret = libxml2mod.xmlUCSIsOldItalic(code)
  2680.     return ret
  2681.  
  2682. def uCSIsOpticalCharacterRecognition(code):
  2683.     """Check whether the character is part of
  2684.        OpticalCharacterRecognition UCS Block """
  2685.     ret = libxml2mod.xmlUCSIsOpticalCharacterRecognition(code)
  2686.     return ret
  2687.  
  2688. def uCSIsOriya(code):
  2689.     """Check whether the character is part of Oriya UCS Block """
  2690.     ret = libxml2mod.xmlUCSIsOriya(code)
  2691.     return ret
  2692.  
  2693. def uCSIsOsmanya(code):
  2694.     """Check whether the character is part of Osmanya UCS Block """
  2695.     ret = libxml2mod.xmlUCSIsOsmanya(code)
  2696.     return ret
  2697.  
  2698. def uCSIsPhoneticExtensions(code):
  2699.     """Check whether the character is part of PhoneticExtensions
  2700.        UCS Block """
  2701.     ret = libxml2mod.xmlUCSIsPhoneticExtensions(code)
  2702.     return ret
  2703.  
  2704. def uCSIsPrivateUse(code):
  2705.     """Check whether the character is part of PrivateUse UCS Block """
  2706.     ret = libxml2mod.xmlUCSIsPrivateUse(code)
  2707.     return ret
  2708.  
  2709. def uCSIsPrivateUseArea(code):
  2710.     """Check whether the character is part of PrivateUseArea UCS
  2711.        Block """
  2712.     ret = libxml2mod.xmlUCSIsPrivateUseArea(code)
  2713.     return ret
  2714.  
  2715. def uCSIsRunic(code):
  2716.     """Check whether the character is part of Runic UCS Block """
  2717.     ret = libxml2mod.xmlUCSIsRunic(code)
  2718.     return ret
  2719.  
  2720. def uCSIsShavian(code):
  2721.     """Check whether the character is part of Shavian UCS Block """
  2722.     ret = libxml2mod.xmlUCSIsShavian(code)
  2723.     return ret
  2724.  
  2725. def uCSIsSinhala(code):
  2726.     """Check whether the character is part of Sinhala UCS Block """
  2727.     ret = libxml2mod.xmlUCSIsSinhala(code)
  2728.     return ret
  2729.  
  2730. def uCSIsSmallFormVariants(code):
  2731.     """Check whether the character is part of SmallFormVariants
  2732.        UCS Block """
  2733.     ret = libxml2mod.xmlUCSIsSmallFormVariants(code)
  2734.     return ret
  2735.  
  2736. def uCSIsSpacingModifierLetters(code):
  2737.     """Check whether the character is part of
  2738.        SpacingModifierLetters UCS Block """
  2739.     ret = libxml2mod.xmlUCSIsSpacingModifierLetters(code)
  2740.     return ret
  2741.  
  2742. def uCSIsSpecials(code):
  2743.     """Check whether the character is part of Specials UCS Block """
  2744.     ret = libxml2mod.xmlUCSIsSpecials(code)
  2745.     return ret
  2746.  
  2747. def uCSIsSuperscriptsandSubscripts(code):
  2748.     """Check whether the character is part of
  2749.        SuperscriptsandSubscripts UCS Block """
  2750.     ret = libxml2mod.xmlUCSIsSuperscriptsandSubscripts(code)
  2751.     return ret
  2752.  
  2753. def uCSIsSupplementalArrowsA(code):
  2754.     """Check whether the character is part of SupplementalArrows-A
  2755.        UCS Block """
  2756.     ret = libxml2mod.xmlUCSIsSupplementalArrowsA(code)
  2757.     return ret
  2758.  
  2759. def uCSIsSupplementalArrowsB(code):
  2760.     """Check whether the character is part of SupplementalArrows-B
  2761.        UCS Block """
  2762.     ret = libxml2mod.xmlUCSIsSupplementalArrowsB(code)
  2763.     return ret
  2764.  
  2765. def uCSIsSupplementalMathematicalOperators(code):
  2766.     """Check whether the character is part of
  2767.        SupplementalMathematicalOperators UCS Block """
  2768.     ret = libxml2mod.xmlUCSIsSupplementalMathematicalOperators(code)
  2769.     return ret
  2770.  
  2771. def uCSIsSupplementaryPrivateUseAreaA(code):
  2772.     """Check whether the character is part of
  2773.        SupplementaryPrivateUseArea-A UCS Block """
  2774.     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaA(code)
  2775.     return ret
  2776.  
  2777. def uCSIsSupplementaryPrivateUseAreaB(code):
  2778.     """Check whether the character is part of
  2779.        SupplementaryPrivateUseArea-B UCS Block """
  2780.     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaB(code)
  2781.     return ret
  2782.  
  2783. def uCSIsSyriac(code):
  2784.     """Check whether the character is part of Syriac UCS Block """
  2785.     ret = libxml2mod.xmlUCSIsSyriac(code)
  2786.     return ret
  2787.  
  2788. def uCSIsTagalog(code):
  2789.     """Check whether the character is part of Tagalog UCS Block """
  2790.     ret = libxml2mod.xmlUCSIsTagalog(code)
  2791.     return ret
  2792.  
  2793. def uCSIsTagbanwa(code):
  2794.     """Check whether the character is part of Tagbanwa UCS Block """
  2795.     ret = libxml2mod.xmlUCSIsTagbanwa(code)
  2796.     return ret
  2797.  
  2798. def uCSIsTags(code):
  2799.     """Check whether the character is part of Tags UCS Block """
  2800.     ret = libxml2mod.xmlUCSIsTags(code)
  2801.     return ret
  2802.  
  2803. def uCSIsTaiLe(code):
  2804.     """Check whether the character is part of TaiLe UCS Block """
  2805.     ret = libxml2mod.xmlUCSIsTaiLe(code)
  2806.     return ret
  2807.  
  2808. def uCSIsTaiXuanJingSymbols(code):
  2809.     """Check whether the character is part of TaiXuanJingSymbols
  2810.        UCS Block """
  2811.     ret = libxml2mod.xmlUCSIsTaiXuanJingSymbols(code)
  2812.     return ret
  2813.  
  2814. def uCSIsTamil(code):
  2815.     """Check whether the character is part of Tamil UCS Block """
  2816.     ret = libxml2mod.xmlUCSIsTamil(code)
  2817.     return ret
  2818.  
  2819. def uCSIsTelugu(code):
  2820.     """Check whether the character is part of Telugu UCS Block """
  2821.     ret = libxml2mod.xmlUCSIsTelugu(code)
  2822.     return ret
  2823.  
  2824. def uCSIsThaana(code):
  2825.     """Check whether the character is part of Thaana UCS Block """
  2826.     ret = libxml2mod.xmlUCSIsThaana(code)
  2827.     return ret
  2828.  
  2829. def uCSIsThai(code):
  2830.     """Check whether the character is part of Thai UCS Block """
  2831.     ret = libxml2mod.xmlUCSIsThai(code)
  2832.     return ret
  2833.  
  2834. def uCSIsTibetan(code):
  2835.     """Check whether the character is part of Tibetan UCS Block """
  2836.     ret = libxml2mod.xmlUCSIsTibetan(code)
  2837.     return ret
  2838.  
  2839. def uCSIsUgaritic(code):
  2840.     """Check whether the character is part of Ugaritic UCS Block """
  2841.     ret = libxml2mod.xmlUCSIsUgaritic(code)
  2842.     return ret
  2843.  
  2844. def uCSIsUnifiedCanadianAboriginalSyllabics(code):
  2845.     """Check whether the character is part of
  2846.        UnifiedCanadianAboriginalSyllabics UCS Block """
  2847.     ret = libxml2mod.xmlUCSIsUnifiedCanadianAboriginalSyllabics(code)
  2848.     return ret
  2849.  
  2850. def uCSIsVariationSelectors(code):
  2851.     """Check whether the character is part of VariationSelectors
  2852.        UCS Block """
  2853.     ret = libxml2mod.xmlUCSIsVariationSelectors(code)
  2854.     return ret
  2855.  
  2856. def uCSIsVariationSelectorsSupplement(code):
  2857.     """Check whether the character is part of
  2858.        VariationSelectorsSupplement UCS Block """
  2859.     ret = libxml2mod.xmlUCSIsVariationSelectorsSupplement(code)
  2860.     return ret
  2861.  
  2862. def uCSIsYiRadicals(code):
  2863.     """Check whether the character is part of YiRadicals UCS Block """
  2864.     ret = libxml2mod.xmlUCSIsYiRadicals(code)
  2865.     return ret
  2866.  
  2867. def uCSIsYiSyllables(code):
  2868.     """Check whether the character is part of YiSyllables UCS Block """
  2869.     ret = libxml2mod.xmlUCSIsYiSyllables(code)
  2870.     return ret
  2871.  
  2872. def uCSIsYijingHexagramSymbols(code):
  2873.     """Check whether the character is part of
  2874.        YijingHexagramSymbols UCS Block """
  2875.     ret = libxml2mod.xmlUCSIsYijingHexagramSymbols(code)
  2876.     return ret
  2877.  
  2878. #
  2879. # Functions from module xmlversion
  2880. #
  2881.  
  2882. def checkVersion(version):
  2883.     """check the compiled lib version against the include one.
  2884.        This can warn or immediately kill the application """
  2885.     libxml2mod.xmlCheckVersion(version)
  2886.  
  2887. #
  2888. # Functions from module xpathInternals
  2889. #
  2890.  
  2891. def valuePop(ctxt):
  2892.     """Pops the top XPath object from the value stack """
  2893.     if ctxt is None: ctxt__o = None
  2894.     else: ctxt__o = ctxt._o
  2895.     ret = libxml2mod.valuePop(ctxt__o)
  2896.     return ret
  2897.  
  2898. class xmlNode(xmlCore):
  2899.     def __init__(self, _obj=None):
  2900.         if type(_obj).__name__ != 'PyCObject':
  2901.             raise TypeError, 'xmlNode needs a PyCObject argument'
  2902.         self._o = _obj
  2903.         xmlCore.__init__(self, _obj=_obj)
  2904.  
  2905.     def __repr__(self):
  2906.         return "<xmlNode (%s) object at 0x%x>" % (self.name, long(id (self)))
  2907.  
  2908.     # accessors for xmlNode
  2909.     def ns(self):
  2910.         """Get the namespace of a node """
  2911.         ret = libxml2mod.xmlNodeGetNs(self._o)
  2912.         if ret is None:return None
  2913.         __tmp = xmlNs(_obj=ret)
  2914.         return __tmp
  2915.  
  2916.     def nsDefs(self):
  2917.         """Get the namespace of a node """
  2918.         ret = libxml2mod.xmlNodeGetNsDefs(self._o)
  2919.         if ret is None:return None
  2920.         __tmp = xmlNs(_obj=ret)
  2921.         return __tmp
  2922.  
  2923.     #
  2924.     # xmlNode functions from module debugXML
  2925.     #
  2926.  
  2927.     def debugDumpNode(self, output, depth):
  2928.         """Dumps debug information for the element node, it is
  2929.            recursive """
  2930.         libxml2mod.xmlDebugDumpNode(output, self._o, depth)
  2931.  
  2932.     def debugDumpNodeList(self, output, depth):
  2933.         """Dumps debug information for the list of element node, it is
  2934.            recursive """
  2935.         libxml2mod.xmlDebugDumpNodeList(output, self._o, depth)
  2936.  
  2937.     def debugDumpOneNode(self, output, depth):
  2938.         """Dumps debug information for the element node, it is not
  2939.            recursive """
  2940.         libxml2mod.xmlDebugDumpOneNode(output, self._o, depth)
  2941.  
  2942.     def lsCountNode(self):
  2943.         """Count the children of @node. """
  2944.         ret = libxml2mod.xmlLsCountNode(self._o)
  2945.         return ret
  2946.  
  2947.     def lsOneNode(self, output):
  2948.         """Dump to @output the type and name of @node. """
  2949.         libxml2mod.xmlLsOneNode(output, self._o)
  2950.  
  2951.     def shellPrintNode(self):
  2952.         """Print node to the output FILE """
  2953.         libxml2mod.xmlShellPrintNode(self._o)
  2954.  
  2955.     #
  2956.     # xmlNode functions from module tree
  2957.     #
  2958.  
  2959.     def addChild(self, cur):
  2960.         """Add a new node to @parent, at the end of the child (or
  2961.            property) list merging adjacent TEXT nodes (in which case
  2962.            @cur is freed) If the new node is ATTRIBUTE, it is added
  2963.            into properties instead of children. If there is an
  2964.            attribute with equal name, it is first destroyed. """
  2965.         if cur is None: cur__o = None
  2966.         else: cur__o = cur._o
  2967.         ret = libxml2mod.xmlAddChild(self._o, cur__o)
  2968.         if ret is None:raise treeError('xmlAddChild() failed')
  2969.         __tmp = xmlNode(_obj=ret)
  2970.         return __tmp
  2971.  
  2972.     def addChildList(self, cur):
  2973.         """Add a list of node at the end of the child list of the
  2974.            parent merging adjacent TEXT nodes (@cur may be freed) """
  2975.         if cur is None: cur__o = None
  2976.         else: cur__o = cur._o
  2977.         ret = libxml2mod.xmlAddChildList(self._o, cur__o)
  2978.         if ret is None:raise treeError('xmlAddChildList() failed')
  2979.         __tmp = xmlNode(_obj=ret)
  2980.         return __tmp
  2981.  
  2982.     def addContent(self, content):
  2983.         """Append the extra substring to the node content. """
  2984.         libxml2mod.xmlNodeAddContent(self._o, content)
  2985.  
  2986.     def addContentLen(self, content, len):
  2987.         """Append the extra substring to the node content. """
  2988.         libxml2mod.xmlNodeAddContentLen(self._o, content, len)
  2989.  
  2990.     def addNextSibling(self, elem):
  2991.         """Add a new node @elem as the next sibling of @cur If the new
  2992.            node was already inserted in a document it is first
  2993.            unlinked from its existing context. As a result of text
  2994.            merging @elem may be freed. If the new node is ATTRIBUTE,
  2995.            it is added into properties instead of children. If there
  2996.            is an attribute with equal name, it is first destroyed. """
  2997.         if elem is None: elem__o = None
  2998.         else: elem__o = elem._o
  2999.         ret = libxml2mod.xmlAddNextSibling(self._o, elem__o)
  3000.         if ret is None:raise treeError('xmlAddNextSibling() failed')
  3001.         __tmp = xmlNode(_obj=ret)
  3002.         return __tmp
  3003.  
  3004.     def addPrevSibling(self, elem):
  3005.         """Add a new node @elem as the previous sibling of @cur
  3006.            merging adjacent TEXT nodes (@elem may be freed) If the
  3007.            new node was already inserted in a document it is first
  3008.            unlinked from its existing context. If the new node is
  3009.            ATTRIBUTE, it is added into properties instead of
  3010.            children. If there is an attribute with equal name, it is
  3011.            first destroyed. """
  3012.         if elem is None: elem__o = None
  3013.         else: elem__o = elem._o
  3014.         ret = libxml2mod.xmlAddPrevSibling(self._o, elem__o)
  3015.         if ret is None:raise treeError('xmlAddPrevSibling() failed')
  3016.         __tmp = xmlNode(_obj=ret)
  3017.         return __tmp
  3018.  
  3019.     def addSibling(self, elem):
  3020.         """Add a new element @elem to the list of siblings of @cur
  3021.            merging adjacent TEXT nodes (@elem may be freed) If the
  3022.            new element was already inserted in a document it is first
  3023.            unlinked from its existing context. """
  3024.         if elem is None: elem__o = None
  3025.         else: elem__o = elem._o
  3026.         ret = libxml2mod.xmlAddSibling(self._o, elem__o)
  3027.         if ret is None:raise treeError('xmlAddSibling() failed')
  3028.         __tmp = xmlNode(_obj=ret)
  3029.         return __tmp
  3030.  
  3031.     def copyNode(self, extended):
  3032.         """Do a copy of the node. """
  3033.         ret = libxml2mod.xmlCopyNode(self._o, extended)
  3034.         if ret is None:raise treeError('xmlCopyNode() failed')
  3035.         __tmp = xmlNode(_obj=ret)
  3036.         return __tmp
  3037.  
  3038.     def copyNodeList(self):
  3039.         """Do a recursive copy of the node list. Use
  3040.            xmlDocCopyNodeList() if possible to ensure string
  3041.            interning. """
  3042.         ret = libxml2mod.xmlCopyNodeList(self._o)
  3043.         if ret is None:raise treeError('xmlCopyNodeList() failed')
  3044.         __tmp = xmlNode(_obj=ret)
  3045.         return __tmp
  3046.  
  3047.     def copyProp(self, cur):
  3048.         """Do a copy of the attribute. """
  3049.         if cur is None: cur__o = None
  3050.         else: cur__o = cur._o
  3051.         ret = libxml2mod.xmlCopyProp(self._o, cur__o)
  3052.         if ret is None:raise treeError('xmlCopyProp() failed')
  3053.         __tmp = xmlAttr(_obj=ret)
  3054.         return __tmp
  3055.  
  3056.     def copyPropList(self, cur):
  3057.         """Do a copy of an attribute list. """
  3058.         if cur is None: cur__o = None
  3059.         else: cur__o = cur._o
  3060.         ret = libxml2mod.xmlCopyPropList(self._o, cur__o)
  3061.         if ret is None:raise treeError('xmlCopyPropList() failed')
  3062.         __tmp = xmlAttr(_obj=ret)
  3063.         return __tmp
  3064.  
  3065.     def docCopyNode(self, doc, extended):
  3066.         """Do a copy of the node to a given document. """
  3067.         if doc is None: doc__o = None
  3068.         else: doc__o = doc._o
  3069.         ret = libxml2mod.xmlDocCopyNode(self._o, doc__o, extended)
  3070.         if ret is None:raise treeError('xmlDocCopyNode() failed')
  3071.         __tmp = xmlNode(_obj=ret)
  3072.         return __tmp
  3073.  
  3074.     def docCopyNodeList(self, doc):
  3075.         """Do a recursive copy of the node list. """
  3076.         if doc is None: doc__o = None
  3077.         else: doc__o = doc._o
  3078.         ret = libxml2mod.xmlDocCopyNodeList(doc__o, self._o)
  3079.         if ret is None:raise treeError('xmlDocCopyNodeList() failed')
  3080.         __tmp = xmlNode(_obj=ret)
  3081.         return __tmp
  3082.  
  3083.     def docSetRootElement(self, doc):
  3084.         """Set the root element of the document (doc->children is a
  3085.            list containing possibly comments, PIs, etc ...). """
  3086.         if doc is None: doc__o = None
  3087.         else: doc__o = doc._o
  3088.         ret = libxml2mod.xmlDocSetRootElement(doc__o, self._o)
  3089.         if ret is None:return None
  3090.         __tmp = xmlNode(_obj=ret)
  3091.         return __tmp
  3092.  
  3093.     def freeNode(self):
  3094.         """Free a node, this is a recursive behaviour, all the
  3095.            children are freed too. This doesn't unlink the child from
  3096.            the list, use xmlUnlinkNode() first. """
  3097.         libxml2mod.xmlFreeNode(self._o)
  3098.  
  3099.     def freeNodeList(self):
  3100.         """Free a node and all its siblings, this is a recursive
  3101.            behaviour, all the children are freed too. """
  3102.         libxml2mod.xmlFreeNodeList(self._o)
  3103.  
  3104.     def getBase(self, doc):
  3105.         """Searches for the BASE URL. The code should work on both XML
  3106.            and HTML document even if base mechanisms are completely
  3107.            different. It returns the base as defined in RFC 2396
  3108.            sections 5.1.1. Base URI within Document Content and
  3109.            5.1.2. Base URI from the Encapsulating Entity However it
  3110.            does not return the document base (5.1.3), use
  3111.            xmlDocumentGetBase() for this """
  3112.         if doc is None: doc__o = None
  3113.         else: doc__o = doc._o
  3114.         ret = libxml2mod.xmlNodeGetBase(doc__o, self._o)
  3115.         return ret
  3116.  
  3117.     def getContent(self):
  3118.         """Read the value of a node, this can be either the text
  3119.            carried directly by this node if it's a TEXT node or the
  3120.            aggregate string of the values carried by this node
  3121.            child's (TEXT and ENTITY_REF). Entity references are
  3122.            substituted. """
  3123.         ret = libxml2mod.xmlNodeGetContent(self._o)
  3124.         return ret
  3125.  
  3126.     def getLang(self):
  3127.         """Searches the language of a node, i.e. the values of the
  3128.            xml:lang attribute or the one carried by the nearest
  3129.            ancestor. """
  3130.         ret = libxml2mod.xmlNodeGetLang(self._o)
  3131.         return ret
  3132.  
  3133.     def getSpacePreserve(self):
  3134.         """Searches the space preserving behaviour of a node, i.e. the
  3135.            values of the xml:space attribute or the one carried by
  3136.            the nearest ancestor. """
  3137.         ret = libxml2mod.xmlNodeGetSpacePreserve(self._o)
  3138.         return ret
  3139.  
  3140.     def hasNsProp(self, name, nameSpace):
  3141.         """Search for an attribute associated to a node This attribute
  3142.            has to be anchored in the namespace specified. This does
  3143.            the entity substitution. This function looks in DTD
  3144.            attribute declaration for #FIXED or default declaration
  3145.            values unless DTD use has been turned off. Note that a
  3146.            namespace of None indicates to use the default namespace. """
  3147.         ret = libxml2mod.xmlHasNsProp(self._o, name, nameSpace)
  3148.         if ret is None:return None
  3149.         __tmp = xmlAttr(_obj=ret)
  3150.         return __tmp
  3151.  
  3152.     def hasProp(self, name):
  3153.         """Search an attribute associated to a node This function also
  3154.            looks in DTD attribute declaration for #FIXED or default
  3155.            declaration values unless DTD use has been turned off. """
  3156.         ret = libxml2mod.xmlHasProp(self._o, name)
  3157.         if ret is None:return None
  3158.         __tmp = xmlAttr(_obj=ret)
  3159.         return __tmp
  3160.  
  3161.     def isBlankNode(self):
  3162.         """Checks whether this node is an empty or whitespace only
  3163.            (and possibly ignorable) text-node. """
  3164.         ret = libxml2mod.xmlIsBlankNode(self._o)
  3165.         return ret
  3166.  
  3167.     def isText(self):
  3168.         """Is this node a Text node ? """
  3169.         ret = libxml2mod.xmlNodeIsText(self._o)
  3170.         return ret
  3171.  
  3172.     def lastChild(self):
  3173.         """Search the last child of a node. """
  3174.         ret = libxml2mod.xmlGetLastChild(self._o)
  3175.         if ret is None:raise treeError('xmlGetLastChild() failed')
  3176.         __tmp = xmlNode(_obj=ret)
  3177.         return __tmp
  3178.  
  3179.     def lineNo(self):
  3180.         """Get line number of @node. This requires activation of this
  3181.            option before invoking the parser by calling
  3182.            xmlLineNumbersDefault(1) """
  3183.         ret = libxml2mod.xmlGetLineNo(self._o)
  3184.         return ret
  3185.  
  3186.     def listGetRawString(self, doc, inLine):
  3187.         """Builds the string equivalent to the text contained in the
  3188.            Node list made of TEXTs and ENTITY_REFs, contrary to
  3189.            xmlNodeListGetString() this function doesn't do any
  3190.            character encoding handling. """
  3191.         if doc is None: doc__o = None
  3192.         else: doc__o = doc._o
  3193.         ret = libxml2mod.xmlNodeListGetRawString(doc__o, self._o, inLine)
  3194.         return ret
  3195.  
  3196.     def listGetString(self, doc, inLine):
  3197.         """Build the string equivalent to the text contained in the
  3198.            Node list made of TEXTs and ENTITY_REFs """
  3199.         if doc is None: doc__o = None
  3200.         else: doc__o = doc._o
  3201.         ret = libxml2mod.xmlNodeListGetString(doc__o, self._o, inLine)
  3202.         return ret
  3203.  
  3204.     def newChild(self, ns, name, content):
  3205.         """Creation of a new child element, added at the end of
  3206.            @parent children list. @ns and @content parameters are
  3207.            optional (None). If @ns is None, the newly created element
  3208.            inherits the namespace of @parent. If @content is non
  3209.            None, a child list containing the TEXTs and ENTITY_REFs
  3210.            node will be created. NOTE: @content is supposed to be a
  3211.            piece of XML CDATA, so it allows entity references. XML
  3212.            special chars must be escaped first by using
  3213.            xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
  3214.            be used. """
  3215.         if ns is None: ns__o = None
  3216.         else: ns__o = ns._o
  3217.         ret = libxml2mod.xmlNewChild(self._o, ns__o, name, content)
  3218.         if ret is None:raise treeError('xmlNewChild() failed')
  3219.         __tmp = xmlNode(_obj=ret)
  3220.         return __tmp
  3221.  
  3222.     def newNs(self, href, prefix):
  3223.         """Creation of a new Namespace. This function will refuse to
  3224.            create a namespace with a similar prefix than an existing
  3225.            one present on this node. We use href==None in the case of
  3226.            an element creation where the namespace was not defined. """
  3227.         ret = libxml2mod.xmlNewNs(self._o, href, prefix)
  3228.         if ret is None:raise treeError('xmlNewNs() failed')
  3229.         __tmp = xmlNs(_obj=ret)
  3230.         return __tmp
  3231.  
  3232.     def newNsProp(self, ns, name, value):
  3233.         """Create a new property tagged with a namespace and carried
  3234.            by a node. """
  3235.         if ns is None: ns__o = None
  3236.         else: ns__o = ns._o
  3237.         ret = libxml2mod.xmlNewNsProp(self._o, ns__o, name, value)
  3238.         if ret is None:raise treeError('xmlNewNsProp() failed')
  3239.         __tmp = xmlAttr(_obj=ret)
  3240.         return __tmp
  3241.  
  3242.     def newNsPropEatName(self, ns, name, value):
  3243.         """Create a new property tagged with a namespace and carried
  3244.            by a node. """
  3245.         if ns is None: ns__o = None
  3246.         else: ns__o = ns._o
  3247.         ret = libxml2mod.xmlNewNsPropEatName(self._o, ns__o, name, value)
  3248.         if ret is None:raise treeError('xmlNewNsPropEatName() failed')
  3249.         __tmp = xmlAttr(_obj=ret)
  3250.         return __tmp
  3251.  
  3252.     def newProp(self, name, value):
  3253.         """Create a new property carried by a node. """
  3254.         ret = libxml2mod.xmlNewProp(self._o, name, value)
  3255.         if ret is None:raise treeError('xmlNewProp() failed')
  3256.         __tmp = xmlAttr(_obj=ret)
  3257.         return __tmp
  3258.  
  3259.     def newTextChild(self, ns, name, content):
  3260.         """Creation of a new child element, added at the end of
  3261.            @parent children list. @ns and @content parameters are
  3262.            optional (None). If @ns is None, the newly created element
  3263.            inherits the namespace of @parent. If @content is non
  3264.            None, a child TEXT node will be created containing the
  3265.            string @content. NOTE: Use xmlNewChild() if @content will
  3266.            contain entities that need to be preserved. Use this
  3267.            function, xmlNewTextChild(), if you need to ensure that
  3268.            reserved XML chars that might appear in @content, such as
  3269.            the ampersand, greater-than or less-than signs, are
  3270.            automatically replaced by their XML escaped entity
  3271.            representations. """
  3272.         if ns is None: ns__o = None
  3273.         else: ns__o = ns._o
  3274.         ret = libxml2mod.xmlNewTextChild(self._o, ns__o, name, content)
  3275.         if ret is None:raise treeError('xmlNewTextChild() failed')
  3276.         __tmp = xmlNode(_obj=ret)
  3277.         return __tmp
  3278.  
  3279.     def noNsProp(self, name):
  3280.         """Search and get the value of an attribute associated to a
  3281.            node This does the entity substitution. This function
  3282.            looks in DTD attribute declaration for #FIXED or default
  3283.            declaration values unless DTD use has been turned off.
  3284.            This function is similar to xmlGetProp except it will
  3285.            accept only an attribute in no namespace. """
  3286.         ret = libxml2mod.xmlGetNoNsProp(self._o, name)
  3287.         return ret
  3288.  
  3289.     def nodePath(self):
  3290.         """Build a structure based Path for the given node """
  3291.         ret = libxml2mod.xmlGetNodePath(self._o)
  3292.         return ret
  3293.  
  3294.     def nsProp(self, name, nameSpace):
  3295.         """Search and get the value of an attribute associated to a
  3296.            node This attribute has to be anchored in the namespace
  3297.            specified. This does the entity substitution. This
  3298.            function looks in DTD attribute declaration for #FIXED or
  3299.            default declaration values unless DTD use has been turned
  3300.            off. """
  3301.         ret = libxml2mod.xmlGetNsProp(self._o, name, nameSpace)
  3302.         return ret
  3303.  
  3304.     def prop(self, name):
  3305.         """Search and get the value of an attribute associated to a
  3306.            node This does the entity substitution. This function
  3307.            looks in DTD attribute declaration for #FIXED or default
  3308.            declaration values unless DTD use has been turned off.
  3309.            NOTE: this function acts independently of namespaces
  3310.            associated to the attribute. Use xmlGetNsProp() or
  3311.            xmlGetNoNsProp() for namespace aware processing. """
  3312.         ret = libxml2mod.xmlGetProp(self._o, name)
  3313.         return ret
  3314.  
  3315.     def reconciliateNs(self, doc):
  3316.         """This function checks that all the namespaces declared
  3317.            within the given tree are properly declared. This is
  3318.            needed for example after Copy or Cut and then paste
  3319.            operations. The subtree may still hold pointers to
  3320.            namespace declarations outside the subtree or
  3321.            invalid/masked. As much as possible the function try to
  3322.            reuse the existing namespaces found in the new
  3323.            environment. If not possible the new namespaces are
  3324.            redeclared on @tree at the top of the given subtree. """
  3325.         if doc is None: doc__o = None
  3326.         else: doc__o = doc._o
  3327.         ret = libxml2mod.xmlReconciliateNs(doc__o, self._o)
  3328.         return ret
  3329.  
  3330.     def replaceNode(self, cur):
  3331.         """Unlink the old node from its current context, prune the new
  3332.            one at the same place. If @cur was already inserted in a
  3333.            document it is first unlinked from its existing context. """
  3334.         if cur is None: cur__o = None
  3335.         else: cur__o = cur._o
  3336.         ret = libxml2mod.xmlReplaceNode(self._o, cur__o)
  3337.         if ret is None:raise treeError('xmlReplaceNode() failed')
  3338.         __tmp = xmlNode(_obj=ret)
  3339.         return __tmp
  3340.  
  3341.     def searchNs(self, doc, nameSpace):
  3342.         """Search a Ns registered under a given name space for a
  3343.            document. recurse on the parents until it finds the
  3344.            defined namespace or return None otherwise. @nameSpace can
  3345.            be None, this is a search for the default namespace. We
  3346.            don't allow to cross entities boundaries. If you don't
  3347.            declare the namespace within those you will be in troubles
  3348.            !!! A warning is generated to cover this case. """
  3349.         if doc is None: doc__o = None
  3350.         else: doc__o = doc._o
  3351.         ret = libxml2mod.xmlSearchNs(doc__o, self._o, nameSpace)
  3352.         if ret is None:raise treeError('xmlSearchNs() failed')
  3353.         __tmp = xmlNs(_obj=ret)
  3354.         return __tmp
  3355.  
  3356.     def searchNsByHref(self, doc, href):
  3357.         """Search a Ns aliasing a given URI. Recurse on the parents
  3358.            until it finds the defined namespace or return None
  3359.            otherwise. """
  3360.         if doc is None: doc__o = None
  3361.         else: doc__o = doc._o
  3362.         ret = libxml2mod.xmlSearchNsByHref(doc__o, self._o, href)
  3363.         if ret is None:raise treeError('xmlSearchNsByHref() failed')
  3364.         __tmp = xmlNs(_obj=ret)
  3365.         return __tmp
  3366.  
  3367.     def setBase(self, uri):
  3368.         """Set (or reset) the base URI of a node, i.e. the value of
  3369.            the xml:base attribute. """
  3370.         libxml2mod.xmlNodeSetBase(self._o, uri)
  3371.  
  3372.     def setContent(self, content):
  3373.         """Replace the content of a node. """
  3374.         libxml2mod.xmlNodeSetContent(self._o, content)
  3375.  
  3376.     def setContentLen(self, content, len):
  3377.         """Replace the content of a node. """
  3378.         libxml2mod.xmlNodeSetContentLen(self._o, content, len)
  3379.  
  3380.     def setLang(self, lang):
  3381.         """Set the language of a node, i.e. the values of the xml:lang
  3382.            attribute. """
  3383.         libxml2mod.xmlNodeSetLang(self._o, lang)
  3384.  
  3385.     def setListDoc(self, doc):
  3386.         """update all nodes in the list to point to the right document """
  3387.         if doc is None: doc__o = None
  3388.         else: doc__o = doc._o
  3389.         libxml2mod.xmlSetListDoc(self._o, doc__o)
  3390.  
  3391.     def setName(self, name):
  3392.         """Set (or reset) the name of a node. """
  3393.         libxml2mod.xmlNodeSetName(self._o, name)
  3394.  
  3395.     def setNs(self, ns):
  3396.         """Associate a namespace to a node, a posteriori. """
  3397.         if ns is None: ns__o = None
  3398.         else: ns__o = ns._o
  3399.         libxml2mod.xmlSetNs(self._o, ns__o)
  3400.  
  3401.     def setNsProp(self, ns, name, value):
  3402.         """Set (or reset) an attribute carried by a node. The ns
  3403.            structure must be in scope, this is not checked. """
  3404.         if ns is None: ns__o = None
  3405.         else: ns__o = ns._o
  3406.         ret = libxml2mod.xmlSetNsProp(self._o, ns__o, name, value)
  3407.         if ret is None:raise treeError('xmlSetNsProp() failed')
  3408.         __tmp = xmlAttr(_obj=ret)
  3409.         return __tmp
  3410.  
  3411.     def setProp(self, name, value):
  3412.         """Set (or reset) an attribute carried by a node. """
  3413.         ret = libxml2mod.xmlSetProp(self._o, name, value)
  3414.         if ret is None:raise treeError('xmlSetProp() failed')
  3415.         __tmp = xmlAttr(_obj=ret)
  3416.         return __tmp
  3417.  
  3418.     def setSpacePreserve(self, val):
  3419.         """Set (or reset) the space preserving behaviour of a node,
  3420.            i.e. the value of the xml:space attribute. """
  3421.         libxml2mod.xmlNodeSetSpacePreserve(self._o, val)
  3422.  
  3423.     def setTreeDoc(self, doc):
  3424.         """update all nodes under the tree to point to the right
  3425.            document """
  3426.         if doc is None: doc__o = None
  3427.         else: doc__o = doc._o
  3428.         libxml2mod.xmlSetTreeDoc(self._o, doc__o)
  3429.  
  3430.     def textConcat(self, content, len):
  3431.         """Concat the given string at the end of the existing node
  3432.            content """
  3433.         ret = libxml2mod.xmlTextConcat(self._o, content, len)
  3434.         return ret
  3435.  
  3436.     def textMerge(self, second):
  3437.         """Merge two text nodes into one """
  3438.         if second is None: second__o = None
  3439.         else: second__o = second._o
  3440.         ret = libxml2mod.xmlTextMerge(self._o, second__o)
  3441.         if ret is None:raise treeError('xmlTextMerge() failed')
  3442.         __tmp = xmlNode(_obj=ret)
  3443.         return __tmp
  3444.  
  3445.     def unlinkNode(self):
  3446.         """Unlink a node from it's current context, the node is not
  3447.            freed """
  3448.         libxml2mod.xmlUnlinkNode(self._o)
  3449.  
  3450.     def unsetNsProp(self, ns, name):
  3451.         """Remove an attribute carried by a node. """
  3452.         if ns is None: ns__o = None
  3453.         else: ns__o = ns._o
  3454.         ret = libxml2mod.xmlUnsetNsProp(self._o, ns__o, name)
  3455.         return ret
  3456.  
  3457.     def unsetProp(self, name):
  3458.         """Remove an attribute carried by a node. """
  3459.         ret = libxml2mod.xmlUnsetProp(self._o, name)
  3460.         return ret
  3461.  
  3462.     #
  3463.     # xmlNode functions from module valid
  3464.     #
  3465.  
  3466.     def isID(self, doc, attr):
  3467.         """Determine whether an attribute is of type ID. In case we
  3468.            have DTD(s) then this is done if DTD loading has been
  3469.            requested. In the case of HTML documents parsed with the
  3470.            HTML parser, then ID detection is done systematically. """
  3471.         if doc is None: doc__o = None
  3472.         else: doc__o = doc._o
  3473.         if attr is None: attr__o = None
  3474.         else: attr__o = attr._o
  3475.         ret = libxml2mod.xmlIsID(doc__o, self._o, attr__o)
  3476.         return ret
  3477.  
  3478.     def isRef(self, doc, attr):
  3479.         """Determine whether an attribute is of type Ref. In case we
  3480.            have DTD(s) then this is simple, otherwise we use an
  3481.            heuristic: name Ref (upper or lowercase). """
  3482.         if doc is None: doc__o = None
  3483.         else: doc__o = doc._o
  3484.         if attr is None: attr__o = None
  3485.         else: attr__o = attr._o
  3486.         ret = libxml2mod.xmlIsRef(doc__o, self._o, attr__o)
  3487.         return ret
  3488.  
  3489.     def validNormalizeAttributeValue(self, doc, name, value):
  3490.         """Does the validation related extra step of the normalization
  3491.            of attribute values:  If the declared value is not CDATA,
  3492.            then the XML processor must further process the normalized
  3493.            attribute value by discarding any leading and trailing
  3494.            space (#x20) characters, and by replacing sequences of
  3495.            space (#x20) characters by single space (#x20) character. """
  3496.         if doc is None: doc__o = None
  3497.         else: doc__o = doc._o
  3498.         ret = libxml2mod.xmlValidNormalizeAttributeValue(doc__o, self._o, name, value)
  3499.         return ret
  3500.  
  3501.     #
  3502.     # xmlNode functions from module xinclude
  3503.     #
  3504.  
  3505.     def xincludeProcessTree(self):
  3506.         """Implement the XInclude substitution for the given subtree """
  3507.         ret = libxml2mod.xmlXIncludeProcessTree(self._o)
  3508.         return ret
  3509.  
  3510.     def xincludeProcessTreeFlags(self, flags):
  3511.         """Implement the XInclude substitution for the given subtree """
  3512.         ret = libxml2mod.xmlXIncludeProcessTreeFlags(self._o, flags)
  3513.         return ret
  3514.  
  3515.     #
  3516.     # xmlNode functions from module xmlschemas
  3517.     #
  3518.  
  3519.     def schemaValidateOneElement(self, ctxt):
  3520.         if ctxt is None: ctxt__o = None
  3521.         else: ctxt__o = ctxt._o
  3522.         ret = libxml2mod.xmlSchemaValidateOneElement(ctxt__o, self._o)
  3523.         return ret
  3524.  
  3525.     #
  3526.     # xmlNode functions from module xpath
  3527.     #
  3528.  
  3529.     def xpathCastNodeToNumber(self):
  3530.         """Converts a node to its number value """
  3531.         ret = libxml2mod.xmlXPathCastNodeToNumber(self._o)
  3532.         return ret
  3533.  
  3534.     def xpathCastNodeToString(self):
  3535.         """Converts a node to its string value. """
  3536.         ret = libxml2mod.xmlXPathCastNodeToString(self._o)
  3537.         return ret
  3538.  
  3539.     def xpathCmpNodes(self, node2):
  3540.         """Compare two nodes w.r.t document order """
  3541.         if node2 is None: node2__o = None
  3542.         else: node2__o = node2._o
  3543.         ret = libxml2mod.xmlXPathCmpNodes(self._o, node2__o)
  3544.         return ret
  3545.  
  3546.     #
  3547.     # xmlNode functions from module xpathInternals
  3548.     #
  3549.  
  3550.     def xpathNewNodeSet(self):
  3551.         """Create a new xmlXPathObjectPtr of type NodeSet and
  3552.            initialize it with the single Node @val """
  3553.         ret = libxml2mod.xmlXPathNewNodeSet(self._o)
  3554.         if ret is None:raise xpathError('xmlXPathNewNodeSet() failed')
  3555.         return xpathObjectRet(ret)
  3556.  
  3557.     def xpathNewValueTree(self):
  3558.         """Create a new xmlXPathObjectPtr of type Value Tree (XSLT)
  3559.            and initialize it with the tree root @val """
  3560.         ret = libxml2mod.xmlXPathNewValueTree(self._o)
  3561.         if ret is None:raise xpathError('xmlXPathNewValueTree() failed')
  3562.         return xpathObjectRet(ret)
  3563.  
  3564.     def xpathNextAncestor(self, ctxt):
  3565.         """Traversal function for the "ancestor" direction the
  3566.            ancestor axis contains the ancestors of the context node;
  3567.            the ancestors of the context node consist of the parent of
  3568.            context node and the parent's parent and so on; the nodes
  3569.            are ordered in reverse document order; thus the parent is
  3570.            the first node on the axis, and the parent's parent is the
  3571.            second node on the axis """
  3572.         if ctxt is None: ctxt__o = None
  3573.         else: ctxt__o = ctxt._o
  3574.         ret = libxml2mod.xmlXPathNextAncestor(ctxt__o, self._o)
  3575.         if ret is None:raise xpathError('xmlXPathNextAncestor() failed')
  3576.         __tmp = xmlNode(_obj=ret)
  3577.         return __tmp
  3578.  
  3579.     def xpathNextAncestorOrSelf(self, ctxt):
  3580.         """Traversal function for the "ancestor-or-self" direction he
  3581.            ancestor-or-self axis contains the context node and
  3582.            ancestors of the context node in reverse document order;
  3583.            thus the context node is the first node on the axis, and
  3584.            the context node's parent the second; parent here is
  3585.            defined the same as with the parent axis. """
  3586.         if ctxt is None: ctxt__o = None
  3587.         else: ctxt__o = ctxt._o
  3588.         ret = libxml2mod.xmlXPathNextAncestorOrSelf(ctxt__o, self._o)
  3589.         if ret is None:raise xpathError('xmlXPathNextAncestorOrSelf() failed')
  3590.         __tmp = xmlNode(_obj=ret)
  3591.         return __tmp
  3592.  
  3593.     def xpathNextAttribute(self, ctxt):
  3594.         """Traversal function for the "attribute" direction TODO:
  3595.            support DTD inherited default attributes """
  3596.         if ctxt is None: ctxt__o = None
  3597.         else: ctxt__o = ctxt._o
  3598.         ret = libxml2mod.xmlXPathNextAttribute(ctxt__o, self._o)
  3599.         if ret is None:raise xpathError('xmlXPathNextAttribute() failed')
  3600.         __tmp = xmlNode(_obj=ret)
  3601.         return __tmp
  3602.  
  3603.     def xpathNextChild(self, ctxt):
  3604.         """Traversal function for the "child" direction The child axis
  3605.            contains the children of the context node in document
  3606.            order. """
  3607.         if ctxt is None: ctxt__o = None
  3608.         else: ctxt__o = ctxt._o
  3609.         ret = libxml2mod.xmlXPathNextChild(ctxt__o, self._o)
  3610.         if ret is None:raise xpathError('xmlXPathNextChild() failed')
  3611.         __tmp = xmlNode(_obj=ret)
  3612.         return __tmp
  3613.  
  3614.     def xpathNextDescendant(self, ctxt):
  3615.         """Traversal function for the "descendant" direction the
  3616.            descendant axis contains the descendants of the context
  3617.            node in document order; a descendant is a child or a child
  3618.            of a child and so on. """
  3619.         if ctxt is None: ctxt__o = None
  3620.         else: ctxt__o = ctxt._o
  3621.         ret = libxml2mod.xmlXPathNextDescendant(ctxt__o, self._o)
  3622.         if ret is None:raise xpathError('xmlXPathNextDescendant() failed')
  3623.         __tmp = xmlNode(_obj=ret)
  3624.         return __tmp
  3625.  
  3626.     def xpathNextDescendantOrSelf(self, ctxt):
  3627.         """Traversal function for the "descendant-or-self" direction
  3628.            the descendant-or-self axis contains the context node and
  3629.            the descendants of the context node in document order;
  3630.            thus the context node is the first node on the axis, and
  3631.            the first child of the context node is the second node on
  3632.            the axis """
  3633.         if ctxt is None: ctxt__o = None
  3634.         else: ctxt__o = ctxt._o
  3635.         ret = libxml2mod.xmlXPathNextDescendantOrSelf(ctxt__o, self._o)
  3636.         if ret is None:raise xpathError('xmlXPathNextDescendantOrSelf() failed')
  3637.         __tmp = xmlNode(_obj=ret)
  3638.         return __tmp
  3639.  
  3640.     def xpathNextFollowing(self, ctxt):
  3641.         """Traversal function for the "following" direction The
  3642.            following axis contains all nodes in the same document as
  3643.            the context node that are after the context node in
  3644.            document order, excluding any descendants and excluding
  3645.            attribute nodes and namespace nodes; the nodes are ordered
  3646.            in document order """
  3647.         if ctxt is None: ctxt__o = None
  3648.         else: ctxt__o = ctxt._o
  3649.         ret = libxml2mod.xmlXPathNextFollowing(ctxt__o, self._o)
  3650.         if ret is None:raise xpathError('xmlXPathNextFollowing() failed')
  3651.         __tmp = xmlNode(_obj=ret)
  3652.         return __tmp
  3653.  
  3654.     def xpathNextFollowingSibling(self, ctxt):
  3655.         """Traversal function for the "following-sibling" direction
  3656.            The following-sibling axis contains the following siblings
  3657.            of the context node in document order. """
  3658.         if ctxt is None: ctxt__o = None
  3659.         else: ctxt__o = ctxt._o
  3660.         ret = libxml2mod.xmlXPathNextFollowingSibling(ctxt__o, self._o)
  3661.         if ret is None:raise xpathError('xmlXPathNextFollowingSibling() failed')
  3662.         __tmp = xmlNode(_obj=ret)
  3663.         return __tmp
  3664.  
  3665.     def xpathNextNamespace(self, ctxt):
  3666.         """Traversal function for the "namespace" direction the
  3667.            namespace axis contains the namespace nodes of the context
  3668.            node; the order of nodes on this axis is
  3669.            implementation-defined; the axis will be empty unless the
  3670.            context node is an element  We keep the XML namespace node
  3671.            at the end of the list. """
  3672.         if ctxt is None: ctxt__o = None
  3673.         else: ctxt__o = ctxt._o
  3674.         ret = libxml2mod.xmlXPathNextNamespace(ctxt__o, self._o)
  3675.         if ret is None:raise xpathError('xmlXPathNextNamespace() failed')
  3676.         __tmp = xmlNode(_obj=ret)
  3677.         return __tmp
  3678.  
  3679.     def xpathNextParent(self, ctxt):
  3680.         """Traversal function for the "parent" direction The parent
  3681.            axis contains the parent of the context node, if there is
  3682.            one. """
  3683.         if ctxt is None: ctxt__o = None
  3684.         else: ctxt__o = ctxt._o
  3685.         ret = libxml2mod.xmlXPathNextParent(ctxt__o, self._o)
  3686.         if ret is None:raise xpathError('xmlXPathNextParent() failed')
  3687.         __tmp = xmlNode(_obj=ret)
  3688.         return __tmp
  3689.  
  3690.     def xpathNextPreceding(self, ctxt):
  3691.         """Traversal function for the "preceding" direction the
  3692.            preceding axis contains all nodes in the same document as
  3693.            the context node that are before the context node in
  3694.            document order, excluding any ancestors and excluding
  3695.            attribute nodes and namespace nodes; the nodes are ordered
  3696.            in reverse document order """
  3697.         if ctxt is None: ctxt__o = None
  3698.         else: ctxt__o = ctxt._o
  3699.         ret = libxml2mod.xmlXPathNextPreceding(ctxt__o, self._o)
  3700.         if ret is None:raise xpathError('xmlXPathNextPreceding() failed')
  3701.         __tmp = xmlNode(_obj=ret)
  3702.         return __tmp
  3703.  
  3704.     def xpathNextPrecedingSibling(self, ctxt):
  3705.         """Traversal function for the "preceding-sibling" direction
  3706.            The preceding-sibling axis contains the preceding siblings
  3707.            of the context node in reverse document order; the first
  3708.            preceding sibling is first on the axis; the sibling
  3709.            preceding that node is the second on the axis and so on. """
  3710.         if ctxt is None: ctxt__o = None
  3711.         else: ctxt__o = ctxt._o
  3712.         ret = libxml2mod.xmlXPathNextPrecedingSibling(ctxt__o, self._o)
  3713.         if ret is None:raise xpathError('xmlXPathNextPrecedingSibling() failed')
  3714.         __tmp = xmlNode(_obj=ret)
  3715.         return __tmp
  3716.  
  3717.     def xpathNextSelf(self, ctxt):
  3718.         """Traversal function for the "self" direction The self axis
  3719.            contains just the context node itself """
  3720.         if ctxt is None: ctxt__o = None
  3721.         else: ctxt__o = ctxt._o
  3722.         ret = libxml2mod.xmlXPathNextSelf(ctxt__o, self._o)
  3723.         if ret is None:raise xpathError('xmlXPathNextSelf() failed')
  3724.         __tmp = xmlNode(_obj=ret)
  3725.         return __tmp
  3726.  
  3727.     #
  3728.     # xmlNode functions from module xpointer
  3729.     #
  3730.  
  3731.     def xpointerNewCollapsedRange(self):
  3732.         """Create a new xmlXPathObjectPtr of type range using a single
  3733.            nodes """
  3734.         ret = libxml2mod.xmlXPtrNewCollapsedRange(self._o)
  3735.         if ret is None:raise treeError('xmlXPtrNewCollapsedRange() failed')
  3736.         return xpathObjectRet(ret)
  3737.  
  3738.     def xpointerNewContext(self, doc, origin):
  3739.         """Create a new XPointer context """
  3740.         if doc is None: doc__o = None
  3741.         else: doc__o = doc._o
  3742.         if origin is None: origin__o = None
  3743.         else: origin__o = origin._o
  3744.         ret = libxml2mod.xmlXPtrNewContext(doc__o, self._o, origin__o)
  3745.         if ret is None:raise treeError('xmlXPtrNewContext() failed')
  3746.         __tmp = xpathContext(_obj=ret)
  3747.         return __tmp
  3748.  
  3749.     def xpointerNewLocationSetNodes(self, end):
  3750.         """Create a new xmlXPathObjectPtr of type LocationSet and
  3751.            initialize it with the single range made of the two nodes
  3752.            @start and @end """
  3753.         if end is None: end__o = None
  3754.         else: end__o = end._o
  3755.         ret = libxml2mod.xmlXPtrNewLocationSetNodes(self._o, end__o)
  3756.         if ret is None:raise treeError('xmlXPtrNewLocationSetNodes() failed')
  3757.         return xpathObjectRet(ret)
  3758.  
  3759.     def xpointerNewRange(self, startindex, end, endindex):
  3760.         """Create a new xmlXPathObjectPtr of type range """
  3761.         if end is None: end__o = None
  3762.         else: end__o = end._o
  3763.         ret = libxml2mod.xmlXPtrNewRange(self._o, startindex, end__o, endindex)
  3764.         if ret is None:raise treeError('xmlXPtrNewRange() failed')
  3765.         return xpathObjectRet(ret)
  3766.  
  3767.     def xpointerNewRangeNodes(self, end):
  3768.         """Create a new xmlXPathObjectPtr of type range using 2 nodes """
  3769.         if end is None: end__o = None
  3770.         else: end__o = end._o
  3771.         ret = libxml2mod.xmlXPtrNewRangeNodes(self._o, end__o)
  3772.         if ret is None:raise treeError('xmlXPtrNewRangeNodes() failed')
  3773.         return xpathObjectRet(ret)
  3774.  
  3775. class xmlDoc(xmlNode):
  3776.     def __init__(self, _obj=None):
  3777.         if type(_obj).__name__ != 'PyCObject':
  3778.             raise TypeError, 'xmlDoc needs a PyCObject argument'
  3779.         self._o = _obj
  3780.         xmlNode.__init__(self, _obj=_obj)
  3781.  
  3782.     def __repr__(self):
  3783.         return "<xmlDoc (%s) object at 0x%x>" % (self.name, long(id (self)))
  3784.  
  3785.     #
  3786.     # xmlDoc functions from module HTMLparser
  3787.     #
  3788.  
  3789.     def htmlAutoCloseTag(self, name, elem):
  3790.         """The HTML DTD allows a tag to implicitly close other tags.
  3791.            The list is kept in htmlStartClose array. This function
  3792.            checks if the element or one of it's children would
  3793.            autoclose the given tag. """
  3794.         ret = libxml2mod.htmlAutoCloseTag(self._o, name, elem)
  3795.         return ret
  3796.  
  3797.     def htmlIsAutoClosed(self, elem):
  3798.         """The HTML DTD allows a tag to implicitly close other tags.
  3799.            The list is kept in htmlStartClose array. This function
  3800.            checks if a tag is autoclosed by one of it's child """
  3801.         ret = libxml2mod.htmlIsAutoClosed(self._o, elem)
  3802.         return ret
  3803.  
  3804.     #
  3805.     # xmlDoc functions from module HTMLtree
  3806.     #
  3807.  
  3808.     def htmlDocContentDumpFormatOutput(self, buf, encoding, format):
  3809.         """Dump an HTML document. """
  3810.         if buf is None: buf__o = None
  3811.         else: buf__o = buf._o
  3812.         libxml2mod.htmlDocContentDumpFormatOutput(buf__o, self._o, encoding, format)
  3813.  
  3814.     def htmlDocContentDumpOutput(self, buf, encoding):
  3815.         """Dump an HTML document. Formating return/spaces are added. """
  3816.         if buf is None: buf__o = None
  3817.         else: buf__o = buf._o
  3818.         libxml2mod.htmlDocContentDumpOutput(buf__o, self._o, encoding)
  3819.  
  3820.     def htmlDocDump(self, f):
  3821.         """Dump an HTML document to an open FILE. """
  3822.         ret = libxml2mod.htmlDocDump(f, self._o)
  3823.         return ret
  3824.  
  3825.     def htmlGetMetaEncoding(self):
  3826.         """Encoding definition lookup in the Meta tags """
  3827.         ret = libxml2mod.htmlGetMetaEncoding(self._o)
  3828.         return ret
  3829.  
  3830.     def htmlNodeDumpFile(self, out, cur):
  3831.         """Dump an HTML node, recursive behaviour,children are printed
  3832.            too, and formatting returns are added. """
  3833.         if cur is None: cur__o = None
  3834.         else: cur__o = cur._o
  3835.         libxml2mod.htmlNodeDumpFile(out, self._o, cur__o)
  3836.  
  3837.     def htmlNodeDumpFileFormat(self, out, cur, encoding, format):
  3838.         """Dump an HTML node, recursive behaviour,children are printed
  3839.            too.  TODO: if encoding == None try to save in the doc
  3840.            encoding """
  3841.         if cur is None: cur__o = None
  3842.         else: cur__o = cur._o
  3843.         ret = libxml2mod.htmlNodeDumpFileFormat(out, self._o, cur__o, encoding, format)
  3844.         return ret
  3845.  
  3846.     def htmlNodeDumpFormatOutput(self, buf, cur, encoding, format):
  3847.         """Dump an HTML node, recursive behaviour,children are printed
  3848.            too. """
  3849.         if buf is None: buf__o = None
  3850.         else: buf__o = buf._o
  3851.         if cur is None: cur__o = None
  3852.         else: cur__o = cur._o
  3853.         libxml2mod.htmlNodeDumpFormatOutput(buf__o, self._o, cur__o, encoding, format)
  3854.  
  3855.     def htmlNodeDumpOutput(self, buf, cur, encoding):
  3856.         """Dump an HTML node, recursive behaviour,children are printed
  3857.            too, and formatting returns/spaces are added. """
  3858.         if buf is None: buf__o = None
  3859.         else: buf__o = buf._o
  3860.         if cur is None: cur__o = None
  3861.         else: cur__o = cur._o
  3862.         libxml2mod.htmlNodeDumpOutput(buf__o, self._o, cur__o, encoding)
  3863.  
  3864.     def htmlSaveFile(self, filename):
  3865.         """Dump an HTML document to a file. If @filename is "-" the
  3866.            stdout file is used. """
  3867.         ret = libxml2mod.htmlSaveFile(filename, self._o)
  3868.         return ret
  3869.  
  3870.     def htmlSaveFileEnc(self, filename, encoding):
  3871.         """Dump an HTML document to a file using a given encoding and
  3872.            formatting returns/spaces are added. """
  3873.         ret = libxml2mod.htmlSaveFileEnc(filename, self._o, encoding)
  3874.         return ret
  3875.  
  3876.     def htmlSaveFileFormat(self, filename, encoding, format):
  3877.         """Dump an HTML document to a file using a given encoding. """
  3878.         ret = libxml2mod.htmlSaveFileFormat(filename, self._o, encoding, format)
  3879.         return ret
  3880.  
  3881.     def htmlSetMetaEncoding(self, encoding):
  3882.         """Sets the current encoding in the Meta tags NOTE: this will
  3883.            not change the document content encoding, just the META
  3884.            flag associated. """
  3885.         ret = libxml2mod.htmlSetMetaEncoding(self._o, encoding)
  3886.         return ret
  3887.  
  3888.     #
  3889.     # xmlDoc functions from module debugXML
  3890.     #
  3891.  
  3892.     def debugCheckDocument(self, output):
  3893.         """Check the document for potential content problems, and
  3894.            output the errors to @output """
  3895.         ret = libxml2mod.xmlDebugCheckDocument(output, self._o)
  3896.         return ret
  3897.  
  3898.     def debugDumpDocument(self, output):
  3899.         """Dumps debug information for the document, it's recursive """
  3900.         libxml2mod.xmlDebugDumpDocument(output, self._o)
  3901.  
  3902.     def debugDumpDocumentHead(self, output):
  3903.         """Dumps debug information cncerning the document, not
  3904.            recursive """
  3905.         libxml2mod.xmlDebugDumpDocumentHead(output, self._o)
  3906.  
  3907.     def debugDumpEntities(self, output):
  3908.         """Dumps debug information for all the entities in use by the
  3909.            document """
  3910.         libxml2mod.xmlDebugDumpEntities(output, self._o)
  3911.  
  3912.     #
  3913.     # xmlDoc functions from module entities
  3914.     #
  3915.  
  3916.     def addDocEntity(self, name, type, ExternalID, SystemID, content):
  3917.         """Register a new entity for this document. """
  3918.         ret = libxml2mod.xmlAddDocEntity(self._o, name, type, ExternalID, SystemID, content)
  3919.         if ret is None:raise treeError('xmlAddDocEntity() failed')
  3920.         __tmp = xmlEntity(_obj=ret)
  3921.         return __tmp
  3922.  
  3923.     def addDtdEntity(self, name, type, ExternalID, SystemID, content):
  3924.         """Register a new entity for this document DTD external subset. """
  3925.         ret = libxml2mod.xmlAddDtdEntity(self._o, name, type, ExternalID, SystemID, content)
  3926.         if ret is None:raise treeError('xmlAddDtdEntity() failed')
  3927.         __tmp = xmlEntity(_obj=ret)
  3928.         return __tmp
  3929.  
  3930.     def docEntity(self, name):
  3931.         """Do an entity lookup in the document entity hash table and """
  3932.         ret = libxml2mod.xmlGetDocEntity(self._o, name)
  3933.         if ret is None:raise treeError('xmlGetDocEntity() failed')
  3934.         __tmp = xmlEntity(_obj=ret)
  3935.         return __tmp
  3936.  
  3937.     def dtdEntity(self, name):
  3938.         """Do an entity lookup in the DTD entity hash table and """
  3939.         ret = libxml2mod.xmlGetDtdEntity(self._o, name)
  3940.         if ret is None:raise treeError('xmlGetDtdEntity() failed')
  3941.         __tmp = xmlEntity(_obj=ret)
  3942.         return __tmp
  3943.  
  3944.     def encodeEntities(self, input):
  3945.         """TODO: remove xmlEncodeEntities, once we are not afraid of
  3946.            breaking binary compatibility  People must migrate their
  3947.            code to xmlEncodeEntitiesReentrant ! This routine will
  3948.            issue a warning when encountered. """
  3949.         ret = libxml2mod.xmlEncodeEntities(self._o, input)
  3950.         return ret
  3951.  
  3952.     def encodeEntitiesReentrant(self, input):
  3953.         """Do a global encoding of a string, replacing the predefined
  3954.            entities and non ASCII values with their entities and
  3955.            CharRef counterparts. Contrary to xmlEncodeEntities, this
  3956.            routine is reentrant, and result must be deallocated. """
  3957.         ret = libxml2mod.xmlEncodeEntitiesReentrant(self._o, input)
  3958.         return ret
  3959.  
  3960.     def encodeSpecialChars(self, input):
  3961.         """Do a global encoding of a string, replacing the predefined
  3962.            entities this routine is reentrant, and result must be
  3963.            deallocated. """
  3964.         ret = libxml2mod.xmlEncodeSpecialChars(self._o, input)
  3965.         return ret
  3966.  
  3967.     def parameterEntity(self, name):
  3968.         """Do an entity lookup in the internal and external subsets and """
  3969.         ret = libxml2mod.xmlGetParameterEntity(self._o, name)
  3970.         if ret is None:raise treeError('xmlGetParameterEntity() failed')
  3971.         __tmp = xmlEntity(_obj=ret)
  3972.         return __tmp
  3973.  
  3974.     #
  3975.     # xmlDoc functions from module relaxng
  3976.     #
  3977.  
  3978.     def relaxNGNewDocParserCtxt(self):
  3979.         """Create an XML RelaxNGs parser context for that document.
  3980.            Note: since the process of compiling a RelaxNG schemas
  3981.            modifies the document, the @doc parameter is duplicated
  3982.            internally. """
  3983.         ret = libxml2mod.xmlRelaxNGNewDocParserCtxt(self._o)
  3984.         if ret is None:raise parserError('xmlRelaxNGNewDocParserCtxt() failed')
  3985.         __tmp = relaxNgParserCtxt(_obj=ret)
  3986.         return __tmp
  3987.  
  3988.     def relaxNGValidateDoc(self, ctxt):
  3989.         """Validate a document tree in memory. """
  3990.         if ctxt is None: ctxt__o = None
  3991.         else: ctxt__o = ctxt._o
  3992.         ret = libxml2mod.xmlRelaxNGValidateDoc(ctxt__o, self._o)
  3993.         return ret
  3994.  
  3995.     def relaxNGValidateFullElement(self, ctxt, elem):
  3996.         """Validate a full subtree when
  3997.            xmlRelaxNGValidatePushElement() returned 0 and the content
  3998.            of the node has been expanded. """
  3999.         if ctxt is None: ctxt__o = None
  4000.         else: ctxt__o = ctxt._o
  4001.         if elem is None: elem__o = None
  4002.         else: elem__o = elem._o
  4003.         ret = libxml2mod.xmlRelaxNGValidateFullElement(ctxt__o, self._o, elem__o)
  4004.         return ret
  4005.  
  4006.     def relaxNGValidatePopElement(self, ctxt, elem):
  4007.         """Pop the element end from the RelaxNG validation stack. """
  4008.         if ctxt is None: ctxt__o = None
  4009.         else: ctxt__o = ctxt._o
  4010.         if elem is None: elem__o = None
  4011.         else: elem__o = elem._o
  4012.         ret = libxml2mod.xmlRelaxNGValidatePopElement(ctxt__o, self._o, elem__o)
  4013.         return ret
  4014.  
  4015.     def relaxNGValidatePushElement(self, ctxt, elem):
  4016.         """Push a new element start on the RelaxNG validation stack. """
  4017.         if ctxt is None: ctxt__o = None
  4018.         else: ctxt__o = ctxt._o
  4019.         if elem is None: elem__o = None
  4020.         else: elem__o = elem._o
  4021.         ret = libxml2mod.xmlRelaxNGValidatePushElement(ctxt__o, self._o, elem__o)
  4022.         return ret
  4023.  
  4024.     #
  4025.     # xmlDoc functions from module tree
  4026.     #
  4027.  
  4028.     def copyDoc(self, recursive):
  4029.         """Do a copy of the document info. If recursive, the content
  4030.            tree will be copied too as well as DTD, namespaces and
  4031.            entities. """
  4032.         ret = libxml2mod.xmlCopyDoc(self._o, recursive)
  4033.         if ret is None:raise treeError('xmlCopyDoc() failed')
  4034.         __tmp = xmlDoc(_obj=ret)
  4035.         return __tmp
  4036.  
  4037.     def copyNode(self, node, extended):
  4038.         """Do a copy of the node to a given document. """
  4039.         if node is None: node__o = None
  4040.         else: node__o = node._o
  4041.         ret = libxml2mod.xmlDocCopyNode(node__o, self._o, extended)
  4042.         if ret is None:raise treeError('xmlDocCopyNode() failed')
  4043.         __tmp = xmlNode(_obj=ret)
  4044.         return __tmp
  4045.  
  4046.     def copyNodeList(self, node):
  4047.         """Do a recursive copy of the node list. """
  4048.         if node is None: node__o = None
  4049.         else: node__o = node._o
  4050.         ret = libxml2mod.xmlDocCopyNodeList(self._o, node__o)
  4051.         if ret is None:raise treeError('xmlDocCopyNodeList() failed')
  4052.         __tmp = xmlNode(_obj=ret)
  4053.         return __tmp
  4054.  
  4055.     def createIntSubset(self, name, ExternalID, SystemID):
  4056.         """Create the internal subset of a document """
  4057.         ret = libxml2mod.xmlCreateIntSubset(self._o, name, ExternalID, SystemID)
  4058.         if ret is None:raise treeError('xmlCreateIntSubset() failed')
  4059.         __tmp = xmlDtd(_obj=ret)
  4060.         return __tmp
  4061.  
  4062.     def docCompressMode(self):
  4063.         """get the compression ratio for a document, ZLIB based """
  4064.         ret = libxml2mod.xmlGetDocCompressMode(self._o)
  4065.         return ret
  4066.  
  4067.     def dump(self, f):
  4068.         """Dump an XML document to an open FILE. """
  4069.         ret = libxml2mod.xmlDocDump(f, self._o)
  4070.         return ret
  4071.  
  4072.     def elemDump(self, f, cur):
  4073.         """Dump an XML/HTML node, recursive behaviour, children are
  4074.            printed too. """
  4075.         if cur is None: cur__o = None
  4076.         else: cur__o = cur._o
  4077.         libxml2mod.xmlElemDump(f, self._o, cur__o)
  4078.  
  4079.     def formatDump(self, f, format):
  4080.         """Dump an XML document to an open FILE. """
  4081.         ret = libxml2mod.xmlDocFormatDump(f, self._o, format)
  4082.         return ret
  4083.  
  4084.     def freeDoc(self):
  4085.         """Free up all the structures used by a document, tree
  4086.            included. """
  4087.         libxml2mod.xmlFreeDoc(self._o)
  4088.  
  4089.     def getRootElement(self):
  4090.         """Get the root element of the document (doc->children is a
  4091.            list containing possibly comments, PIs, etc ...). """
  4092.         ret = libxml2mod.xmlDocGetRootElement(self._o)
  4093.         if ret is None:raise treeError('xmlDocGetRootElement() failed')
  4094.         __tmp = xmlNode(_obj=ret)
  4095.         return __tmp
  4096.  
  4097.     def intSubset(self):
  4098.         """Get the internal subset of a document """
  4099.         ret = libxml2mod.xmlGetIntSubset(self._o)
  4100.         if ret is None:raise treeError('xmlGetIntSubset() failed')
  4101.         __tmp = xmlDtd(_obj=ret)
  4102.         return __tmp
  4103.  
  4104.     def newCDataBlock(self, content, len):
  4105.         """Creation of a new node containing a CDATA block. """
  4106.         ret = libxml2mod.xmlNewCDataBlock(self._o, content, len)
  4107.         if ret is None:raise treeError('xmlNewCDataBlock() failed')
  4108.         __tmp = xmlNode(_obj=ret)
  4109.         return __tmp
  4110.  
  4111.     def newCharRef(self, name):
  4112.         """Creation of a new character reference node. """
  4113.         ret = libxml2mod.xmlNewCharRef(self._o, name)
  4114.         if ret is None:raise treeError('xmlNewCharRef() failed')
  4115.         __tmp = xmlNode(_obj=ret)
  4116.         return __tmp
  4117.  
  4118.     def newDocComment(self, content):
  4119.         """Creation of a new node containing a comment within a
  4120.            document. """
  4121.         ret = libxml2mod.xmlNewDocComment(self._o, content)
  4122.         if ret is None:raise treeError('xmlNewDocComment() failed')
  4123.         __tmp = xmlNode(_obj=ret)
  4124.         return __tmp
  4125.  
  4126.     def newDocFragment(self):
  4127.         """Creation of a new Fragment node. """
  4128.         ret = libxml2mod.xmlNewDocFragment(self._o)
  4129.         if ret is None:raise treeError('xmlNewDocFragment() failed')
  4130.         __tmp = xmlNode(_obj=ret)
  4131.         return __tmp
  4132.  
  4133.     def newDocNode(self, ns, name, content):
  4134.         """Creation of a new node element within a document. @ns and
  4135.            @content are optional (None). NOTE: @content is supposed
  4136.            to be a piece of XML CDATA, so it allow entities
  4137.            references, but XML special chars need to be escaped first
  4138.            by using xmlEncodeEntitiesReentrant(). Use
  4139.            xmlNewDocRawNode() if you don't need entities support. """
  4140.         if ns is None: ns__o = None
  4141.         else: ns__o = ns._o
  4142.         ret = libxml2mod.xmlNewDocNode(self._o, ns__o, name, content)
  4143.         if ret is None:raise treeError('xmlNewDocNode() failed')
  4144.         __tmp = xmlNode(_obj=ret)
  4145.         return __tmp
  4146.  
  4147.     def newDocNodeEatName(self, ns, name, content):
  4148.         """Creation of a new node element within a document. @ns and
  4149.            @content are optional (None). NOTE: @content is supposed
  4150.            to be a piece of XML CDATA, so it allow entities
  4151.            references, but XML special chars need to be escaped first
  4152.            by using xmlEncodeEntitiesReentrant(). Use
  4153.            xmlNewDocRawNode() if you don't need entities support. """
  4154.         if ns is None: ns__o = None
  4155.         else: ns__o = ns._o
  4156.         ret = libxml2mod.xmlNewDocNodeEatName(self._o, ns__o, name, content)
  4157.         if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
  4158.         __tmp = xmlNode(_obj=ret)
  4159.         return __tmp
  4160.  
  4161.     def newDocPI(self, name, content):
  4162.         """Creation of a processing instruction element. """
  4163.         ret = libxml2mod.xmlNewDocPI(self._o, name, content)
  4164.         if ret is None:raise treeError('xmlNewDocPI() failed')
  4165.         __tmp = xmlNode(_obj=ret)
  4166.         return __tmp
  4167.  
  4168.     def newDocProp(self, name, value):
  4169.         """Create a new property carried by a document. """
  4170.         ret = libxml2mod.xmlNewDocProp(self._o, name, value)
  4171.         if ret is None:raise treeError('xmlNewDocProp() failed')
  4172.         __tmp = xmlAttr(_obj=ret)
  4173.         return __tmp
  4174.  
  4175.     def newDocRawNode(self, ns, name, content):
  4176.         """Creation of a new node element within a document. @ns and
  4177.            @content are optional (None). """
  4178.         if ns is None: ns__o = None
  4179.         else: ns__o = ns._o
  4180.         ret = libxml2mod.xmlNewDocRawNode(self._o, ns__o, name, content)
  4181.         if ret is None:raise treeError('xmlNewDocRawNode() failed')
  4182.         __tmp = xmlNode(_obj=ret)
  4183.         return __tmp
  4184.  
  4185.     def newDocText(self, content):
  4186.         """Creation of a new text node within a document. """
  4187.         ret = libxml2mod.xmlNewDocText(self._o, content)
  4188.         if ret is None:raise treeError('xmlNewDocText() failed')
  4189.         __tmp = xmlNode(_obj=ret)
  4190.         return __tmp
  4191.  
  4192.     def newDocTextLen(self, content, len):
  4193.         """Creation of a new text node with an extra content length
  4194.            parameter. The text node pertain to a given document. """
  4195.         ret = libxml2mod.xmlNewDocTextLen(self._o, content, len)
  4196.         if ret is None:raise treeError('xmlNewDocTextLen() failed')
  4197.         __tmp = xmlNode(_obj=ret)
  4198.         return __tmp
  4199.  
  4200.     def newDtd(self, name, ExternalID, SystemID):
  4201.         """Creation of a new DTD for the external subset. To create an
  4202.            internal subset, use xmlCreateIntSubset(). """
  4203.         ret = libxml2mod.xmlNewDtd(self._o, name, ExternalID, SystemID)
  4204.         if ret is None:raise treeError('xmlNewDtd() failed')
  4205.         __tmp = xmlDtd(_obj=ret)
  4206.         return __tmp
  4207.  
  4208.     def newGlobalNs(self, href, prefix):
  4209.         """Creation of a Namespace, the old way using PI and without
  4210.            scoping DEPRECATED !!! """
  4211.         ret = libxml2mod.xmlNewGlobalNs(self._o, href, prefix)
  4212.         if ret is None:raise treeError('xmlNewGlobalNs() failed')
  4213.         __tmp = xmlNs(_obj=ret)
  4214.         return __tmp
  4215.  
  4216.     def newReference(self, name):
  4217.         """Creation of a new reference node. """
  4218.         ret = libxml2mod.xmlNewReference(self._o, name)
  4219.         if ret is None:raise treeError('xmlNewReference() failed')
  4220.         __tmp = xmlNode(_obj=ret)
  4221.         return __tmp
  4222.  
  4223.     def nodeDumpOutput(self, buf, cur, level, format, encoding):
  4224.         """Dump an XML node, recursive behaviour, children are printed
  4225.            too. Note that @format = 1 provide node indenting only if
  4226.            xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
  4227.            called """
  4228.         if buf is None: buf__o = None
  4229.         else: buf__o = buf._o
  4230.         if cur is None: cur__o = None
  4231.         else: cur__o = cur._o
  4232.         libxml2mod.xmlNodeDumpOutput(buf__o, self._o, cur__o, level, format, encoding)
  4233.  
  4234.     def nodeGetBase(self, cur):
  4235.         """Searches for the BASE URL. The code should work on both XML
  4236.            and HTML document even if base mechanisms are completely
  4237.            different. It returns the base as defined in RFC 2396
  4238.            sections 5.1.1. Base URI within Document Content and
  4239.            5.1.2. Base URI from the Encapsulating Entity However it
  4240.            does not return the document base (5.1.3), use
  4241.            xmlDocumentGetBase() for this """
  4242.         if cur is None: cur__o = None
  4243.         else: cur__o = cur._o
  4244.         ret = libxml2mod.xmlNodeGetBase(self._o, cur__o)
  4245.         return ret
  4246.  
  4247.     def nodeListGetRawString(self, list, inLine):
  4248.         """Builds the string equivalent to the text contained in the
  4249.            Node list made of TEXTs and ENTITY_REFs, contrary to
  4250.            xmlNodeListGetString() this function doesn't do any
  4251.            character encoding handling. """
  4252.         if list is None: list__o = None
  4253.         else: list__o = list._o
  4254.         ret = libxml2mod.xmlNodeListGetRawString(self._o, list__o, inLine)
  4255.         return ret
  4256.  
  4257.     def nodeListGetString(self, list, inLine):
  4258.         """Build the string equivalent to the text contained in the
  4259.            Node list made of TEXTs and ENTITY_REFs """
  4260.         if list is None: list__o = None
  4261.         else: list__o = list._o
  4262.         ret = libxml2mod.xmlNodeListGetString(self._o, list__o, inLine)
  4263.         return ret
  4264.  
  4265.     def reconciliateNs(self, tree):
  4266.         """This function checks that all the namespaces declared
  4267.            within the given tree are properly declared. This is
  4268.            needed for example after Copy or Cut and then paste
  4269.            operations. The subtree may still hold pointers to
  4270.            namespace declarations outside the subtree or
  4271.            invalid/masked. As much as possible the function try to
  4272.            reuse the existing namespaces found in the new
  4273.            environment. If not possible the new namespaces are
  4274.            redeclared on @tree at the top of the given subtree. """
  4275.         if tree is None: tree__o = None
  4276.         else: tree__o = tree._o
  4277.         ret = libxml2mod.xmlReconciliateNs(self._o, tree__o)
  4278.         return ret
  4279.  
  4280.     def saveFile(self, filename):
  4281.         """Dump an XML document to a file. Will use compression if
  4282.            compiled in and enabled. If @filename is "-" the stdout
  4283.            file is used. """
  4284.         ret = libxml2mod.xmlSaveFile(filename, self._o)
  4285.         return ret
  4286.  
  4287.     def saveFileEnc(self, filename, encoding):
  4288.         """Dump an XML document, converting it to the given encoding """
  4289.         ret = libxml2mod.xmlSaveFileEnc(filename, self._o, encoding)
  4290.         return ret
  4291.  
  4292.     def saveFileTo(self, buf, encoding):
  4293.         """Dump an XML document to an I/O buffer. Warning ! This call
  4294.            xmlOutputBufferClose() on buf which is not available after
  4295.            this call. """
  4296.         if buf is None: buf__o = None
  4297.         else: buf__o = buf._o
  4298.         ret = libxml2mod.xmlSaveFileTo(buf__o, self._o, encoding)
  4299.         return ret
  4300.  
  4301.     def saveFormatFile(self, filename, format):
  4302.         """Dump an XML document to a file. Will use compression if
  4303.            compiled in and enabled. If @filename is "-" the stdout
  4304.            file is used. If @format is set then the document will be
  4305.            indented on output. Note that @format = 1 provide node
  4306.            indenting only if xmlIndentTreeOutput = 1 or
  4307.            xmlKeepBlanksDefault(0) was called """
  4308.         ret = libxml2mod.xmlSaveFormatFile(filename, self._o, format)
  4309.         return ret
  4310.  
  4311.     def saveFormatFileEnc(self, filename, encoding, format):
  4312.         """Dump an XML document to a file or an URL. """
  4313.         ret = libxml2mod.xmlSaveFormatFileEnc(filename, self._o, encoding, format)
  4314.         return ret
  4315.  
  4316.     def saveFormatFileTo(self, buf, encoding, format):
  4317.         """Dump an XML document to an I/O buffer. Warning ! This call
  4318.            xmlOutputBufferClose() on buf which is not available after
  4319.            this call. """
  4320.         if buf is None: buf__o = None
  4321.         else: buf__o = buf._o
  4322.         ret = libxml2mod.xmlSaveFormatFileTo(buf__o, self._o, encoding, format)
  4323.         return ret
  4324.  
  4325.     def searchNs(self, node, nameSpace):
  4326.         """Search a Ns registered under a given name space for a
  4327.            document. recurse on the parents until it finds the
  4328.            defined namespace or return None otherwise. @nameSpace can
  4329.            be None, this is a search for the default namespace. We
  4330.            don't allow to cross entities boundaries. If you don't
  4331.            declare the namespace within those you will be in troubles
  4332.            !!! A warning is generated to cover this case. """
  4333.         if node is None: node__o = None
  4334.         else: node__o = node._o
  4335.         ret = libxml2mod.xmlSearchNs(self._o, node__o, nameSpace)
  4336.         if ret is None:raise treeError('xmlSearchNs() failed')
  4337.         __tmp = xmlNs(_obj=ret)
  4338.         return __tmp
  4339.  
  4340.     def searchNsByHref(self, node, href):
  4341.         """Search a Ns aliasing a given URI. Recurse on the parents
  4342.            until it finds the defined namespace or return None
  4343.            otherwise. """
  4344.         if node is None: node__o = None
  4345.         else: node__o = node._o
  4346.         ret = libxml2mod.xmlSearchNsByHref(self._o, node__o, href)
  4347.         if ret is None:raise treeError('xmlSearchNsByHref() failed')
  4348.         __tmp = xmlNs(_obj=ret)
  4349.         return __tmp
  4350.  
  4351.     def setDocCompressMode(self, mode):
  4352.         """set the compression ratio for a document, ZLIB based
  4353.            Correct values: 0 (uncompressed) to 9 (max compression) """
  4354.         libxml2mod.xmlSetDocCompressMode(self._o, mode)
  4355.  
  4356.     def setListDoc(self, list):
  4357.         """update all nodes in the list to point to the right document """
  4358.         if list is None: list__o = None
  4359.         else: list__o = list._o
  4360.         libxml2mod.xmlSetListDoc(list__o, self._o)
  4361.  
  4362.     def setRootElement(self, root):
  4363.         """Set the root element of the document (doc->children is a
  4364.            list containing possibly comments, PIs, etc ...). """
  4365.         if root is None: root__o = None
  4366.         else: root__o = root._o
  4367.         ret = libxml2mod.xmlDocSetRootElement(self._o, root__o)
  4368.         if ret is None:return None
  4369.         __tmp = xmlNode(_obj=ret)
  4370.         return __tmp
  4371.  
  4372.     def setTreeDoc(self, tree):
  4373.         """update all nodes under the tree to point to the right
  4374.            document """
  4375.         if tree is None: tree__o = None
  4376.         else: tree__o = tree._o
  4377.         libxml2mod.xmlSetTreeDoc(tree__o, self._o)
  4378.  
  4379.     def stringGetNodeList(self, value):
  4380.         """Parse the value string and build the node list associated.
  4381.            Should produce a flat tree with only TEXTs and ENTITY_REFs. """
  4382.         ret = libxml2mod.xmlStringGetNodeList(self._o, value)
  4383.         if ret is None:raise treeError('xmlStringGetNodeList() failed')
  4384.         __tmp = xmlNode(_obj=ret)
  4385.         return __tmp
  4386.  
  4387.     def stringLenGetNodeList(self, value, len):
  4388.         """Parse the value string and build the node list associated.
  4389.            Should produce a flat tree with only TEXTs and ENTITY_REFs. """
  4390.         ret = libxml2mod.xmlStringLenGetNodeList(self._o, value, len)
  4391.         if ret is None:raise treeError('xmlStringLenGetNodeList() failed')
  4392.         __tmp = xmlNode(_obj=ret)
  4393.         return __tmp
  4394.  
  4395.     #
  4396.     # xmlDoc functions from module valid
  4397.     #
  4398.  
  4399.     def ID(self, ID):
  4400.         """Search the attribute declaring the given ID """
  4401.         ret = libxml2mod.xmlGetID(self._o, ID)
  4402.         if ret is None:raise treeError('xmlGetID() failed')
  4403.         __tmp = xmlAttr(_obj=ret)
  4404.         return __tmp
  4405.  
  4406.     def isID(self, elem, attr):
  4407.         """Determine whether an attribute is of type ID. In case we
  4408.            have DTD(s) then this is done if DTD loading has been
  4409.            requested. In the case of HTML documents parsed with the
  4410.            HTML parser, then ID detection is done systematically. """
  4411.         if elem is None: elem__o = None
  4412.         else: elem__o = elem._o
  4413.         if attr is None: attr__o = None
  4414.         else: attr__o = attr._o
  4415.         ret = libxml2mod.xmlIsID(self._o, elem__o, attr__o)
  4416.         return ret
  4417.  
  4418.     def isMixedElement(self, name):
  4419.         """Search in the DtDs whether an element accept Mixed content
  4420.            (or ANY) basically if it is supposed to accept text childs """
  4421.         ret = libxml2mod.xmlIsMixedElement(self._o, name)
  4422.         return ret
  4423.  
  4424.     def isRef(self, elem, attr):
  4425.         """Determine whether an attribute is of type Ref. In case we
  4426.            have DTD(s) then this is simple, otherwise we use an
  4427.            heuristic: name Ref (upper or lowercase). """
  4428.         if elem is None: elem__o = None
  4429.         else: elem__o = elem._o
  4430.         if attr is None: attr__o = None
  4431.         else: attr__o = attr._o
  4432.         ret = libxml2mod.xmlIsRef(self._o, elem__o, attr__o)
  4433.         return ret
  4434.  
  4435.     def removeID(self, attr):
  4436.         """Remove the given attribute from the ID table maintained
  4437.            internally. """
  4438.         if attr is None: attr__o = None
  4439.         else: attr__o = attr._o
  4440.         ret = libxml2mod.xmlRemoveID(self._o, attr__o)
  4441.         return ret
  4442.  
  4443.     def removeRef(self, attr):
  4444.         """Remove the given attribute from the Ref table maintained
  4445.            internally. """
  4446.         if attr is None: attr__o = None
  4447.         else: attr__o = attr._o
  4448.         ret = libxml2mod.xmlRemoveRef(self._o, attr__o)
  4449.         return ret
  4450.  
  4451.     def validCtxtNormalizeAttributeValue(self, ctxt, elem, name, value):
  4452.         """Does the validation related extra step of the normalization
  4453.            of attribute values:  If the declared value is not CDATA,
  4454.            then the XML processor must further process the normalized
  4455.            attribute value by discarding any leading and trailing
  4456.            space (#x20) characters, and by replacing sequences of
  4457.            space (#x20) characters by single space (#x20) character. 
  4458.            Also  check VC: Standalone Document Declaration in P32,
  4459.            and update ctxt->valid accordingly """
  4460.         if ctxt is None: ctxt__o = None
  4461.         else: ctxt__o = ctxt._o
  4462.         if elem is None: elem__o = None
  4463.         else: elem__o = elem._o
  4464.         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(ctxt__o, self._o, elem__o, name, value)
  4465.         return ret
  4466.  
  4467.     def validNormalizeAttributeValue(self, elem, name, value):
  4468.         """Does the validation related extra step of the normalization
  4469.            of attribute values:  If the declared value is not CDATA,
  4470.            then the XML processor must further process the normalized
  4471.            attribute value by discarding any leading and trailing
  4472.            space (#x20) characters, and by replacing sequences of
  4473.            space (#x20) characters by single space (#x20) character. """
  4474.         if elem is None: elem__o = None
  4475.         else: elem__o = elem._o
  4476.         ret = libxml2mod.xmlValidNormalizeAttributeValue(self._o, elem__o, name, value)
  4477.         return ret
  4478.  
  4479.     def validateDocument(self, ctxt):
  4480.         """Try to validate the document instance  basically it does
  4481.            the all the checks described by the XML Rec i.e. validates
  4482.            the internal and external subset (if present) and validate
  4483.            the document tree. """
  4484.         if ctxt is None: ctxt__o = None
  4485.         else: ctxt__o = ctxt._o
  4486.         ret = libxml2mod.xmlValidateDocument(ctxt__o, self._o)
  4487.         return ret
  4488.  
  4489.     def validateDocumentFinal(self, ctxt):
  4490.         """Does the final step for the document validation once all
  4491.            the incremental validation steps have been completed 
  4492.            basically it does the following checks described by the
  4493.            XML Rec  Check all the IDREF/IDREFS attributes definition
  4494.            for validity """
  4495.         if ctxt is None: ctxt__o = None
  4496.         else: ctxt__o = ctxt._o
  4497.         ret = libxml2mod.xmlValidateDocumentFinal(ctxt__o, self._o)
  4498.         return ret
  4499.  
  4500.     def validateDtd(self, ctxt, dtd):
  4501.         """Try to validate the document against the dtd instance 
  4502.            Basically it does check all the definitions in the DtD.
  4503.            Note the the internal subset (if present) is de-coupled
  4504.            (i.e. not used), which could give problems if ID or IDREF
  4505.            is present. """
  4506.         if ctxt is None: ctxt__o = None
  4507.         else: ctxt__o = ctxt._o
  4508.         if dtd is None: dtd__o = None
  4509.         else: dtd__o = dtd._o
  4510.         ret = libxml2mod.xmlValidateDtd(ctxt__o, self._o, dtd__o)
  4511.         return ret
  4512.  
  4513.     def validateDtdFinal(self, ctxt):
  4514.         """Does the final step for the dtds validation once all the
  4515.            subsets have been parsed  basically it does the following
  4516.            checks described by the XML Rec - check that ENTITY and
  4517.            ENTITIES type attributes default or possible values
  4518.            matches one of the defined entities. - check that NOTATION
  4519.            type attributes default or possible values matches one of
  4520.            the defined notations. """
  4521.         if ctxt is None: ctxt__o = None
  4522.         else: ctxt__o = ctxt._o
  4523.         ret = libxml2mod.xmlValidateDtdFinal(ctxt__o, self._o)
  4524.         return ret
  4525.  
  4526.     def validateElement(self, ctxt, elem):
  4527.         """Try to validate the subtree under an element """
  4528.         if ctxt is None: ctxt__o = None
  4529.         else: ctxt__o = ctxt._o
  4530.         if elem is None: elem__o = None
  4531.         else: elem__o = elem._o
  4532.         ret = libxml2mod.xmlValidateElement(ctxt__o, self._o, elem__o)
  4533.         return ret
  4534.  
  4535.     def validateNotationUse(self, ctxt, notationName):
  4536.         """Validate that the given name match a notation declaration.
  4537.            - [ VC: Notation Declared ] """
  4538.         if ctxt is None: ctxt__o = None
  4539.         else: ctxt__o = ctxt._o
  4540.         ret = libxml2mod.xmlValidateNotationUse(ctxt__o, self._o, notationName)
  4541.         return ret
  4542.  
  4543.     def validateOneAttribute(self, ctxt, elem, attr, value):
  4544.         """Try to validate a single attribute for an element basically
  4545.            it does the following checks as described by the XML-1.0
  4546.            recommendation: - [ VC: Attribute Value Type ] - [ VC:
  4547.            Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
  4548.            Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
  4549.            Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  4550.            uniqueness and matching are done separately """
  4551.         if ctxt is None: ctxt__o = None
  4552.         else: ctxt__o = ctxt._o
  4553.         if elem is None: elem__o = None
  4554.         else: elem__o = elem._o
  4555.         if attr is None: attr__o = None
  4556.         else: attr__o = attr._o
  4557.         ret = libxml2mod.xmlValidateOneAttribute(ctxt__o, self._o, elem__o, attr__o, value)
  4558.         return ret
  4559.  
  4560.     def validateOneElement(self, ctxt, elem):
  4561.         """Try to validate a single element and it's attributes,
  4562.            basically it does the following checks as described by the
  4563.            XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
  4564.            Required Attribute ] Then call xmlValidateOneAttribute()
  4565.            for each attribute present.  The ID/IDREF checkings are
  4566.            done separately """
  4567.         if ctxt is None: ctxt__o = None
  4568.         else: ctxt__o = ctxt._o
  4569.         if elem is None: elem__o = None
  4570.         else: elem__o = elem._o
  4571.         ret = libxml2mod.xmlValidateOneElement(ctxt__o, self._o, elem__o)
  4572.         return ret
  4573.  
  4574.     def validateOneNamespace(self, ctxt, elem, prefix, ns, value):
  4575.         """Try to validate a single namespace declaration for an
  4576.            element basically it does the following checks as
  4577.            described by the XML-1.0 recommendation: - [ VC: Attribute
  4578.            Value Type ] - [ VC: Fixed Attribute Default ] - [ VC:
  4579.            Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC:
  4580.            IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes
  4581.            ]  The ID/IDREF uniqueness and matching are done separately """
  4582.         if ctxt is None: ctxt__o = None
  4583.         else: ctxt__o = ctxt._o
  4584.         if elem is None: elem__o = None
  4585.         else: elem__o = elem._o
  4586.         if ns is None: ns__o = None
  4587.         else: ns__o = ns._o
  4588.         ret = libxml2mod.xmlValidateOneNamespace(ctxt__o, self._o, elem__o, prefix, ns__o, value)
  4589.         return ret
  4590.  
  4591.     def validatePopElement(self, ctxt, elem, qname):
  4592.         """Pop the element end from the validation stack. """
  4593.         if ctxt is None: ctxt__o = None
  4594.         else: ctxt__o = ctxt._o
  4595.         if elem is None: elem__o = None
  4596.         else: elem__o = elem._o
  4597.         ret = libxml2mod.xmlValidatePopElement(ctxt__o, self._o, elem__o, qname)
  4598.         return ret
  4599.  
  4600.     def validatePushElement(self, ctxt, elem, qname):
  4601.         """Push a new element start on the validation stack. """
  4602.         if ctxt is None: ctxt__o = None
  4603.         else: ctxt__o = ctxt._o
  4604.         if elem is None: elem__o = None
  4605.         else: elem__o = elem._o
  4606.         ret = libxml2mod.xmlValidatePushElement(ctxt__o, self._o, elem__o, qname)
  4607.         return ret
  4608.  
  4609.     def validateRoot(self, ctxt):
  4610.         """Try to validate a the root element basically it does the
  4611.            following check as described by the XML-1.0
  4612.            recommendation: - [ VC: Root Element Type ] it doesn't try
  4613.            to recurse or apply other check to the element """
  4614.         if ctxt is None: ctxt__o = None
  4615.         else: ctxt__o = ctxt._o
  4616.         ret = libxml2mod.xmlValidateRoot(ctxt__o, self._o)
  4617.         return ret
  4618.  
  4619.     #
  4620.     # xmlDoc functions from module xinclude
  4621.     #
  4622.  
  4623.     def xincludeProcess(self):
  4624.         """Implement the XInclude substitution on the XML document @doc """
  4625.         ret = libxml2mod.xmlXIncludeProcess(self._o)
  4626.         return ret
  4627.  
  4628.     def xincludeProcessFlags(self, flags):
  4629.         """Implement the XInclude substitution on the XML document @doc """
  4630.         ret = libxml2mod.xmlXIncludeProcessFlags(self._o, flags)
  4631.         return ret
  4632.  
  4633.     #
  4634.     # xmlDoc functions from module xmlreader
  4635.     #
  4636.  
  4637.     def NewWalker(self, reader):
  4638.         """Setup an xmltextReader to parse a preparsed XML document.
  4639.            This reuses the existing @reader xmlTextReader. """
  4640.         if reader is None: reader__o = None
  4641.         else: reader__o = reader._o
  4642.         ret = libxml2mod.xmlReaderNewWalker(reader__o, self._o)
  4643.         return ret
  4644.  
  4645.     def readerWalker(self):
  4646.         """Create an xmltextReader for a preparsed document. """
  4647.         ret = libxml2mod.xmlReaderWalker(self._o)
  4648.         if ret is None:raise treeError('xmlReaderWalker() failed')
  4649.         __tmp = xmlTextReader(_obj=ret)
  4650.         return __tmp
  4651.  
  4652.     #
  4653.     # xmlDoc functions from module xmlschemas
  4654.     #
  4655.  
  4656.     def schemaNewDocParserCtxt(self):
  4657.         """Create an XML Schemas parse context for that document. NB.
  4658.            The document may be modified during the parsing process. """
  4659.         ret = libxml2mod.xmlSchemaNewDocParserCtxt(self._o)
  4660.         if ret is None:raise parserError('xmlSchemaNewDocParserCtxt() failed')
  4661.         __tmp = SchemaParserCtxt(_obj=ret)
  4662.         return __tmp
  4663.  
  4664.     def schemaValidateDoc(self, ctxt):
  4665.         if ctxt is None: ctxt__o = None
  4666.         else: ctxt__o = ctxt._o
  4667.         ret = libxml2mod.xmlSchemaValidateDoc(ctxt__o, self._o)
  4668.         return ret
  4669.  
  4670.     #
  4671.     # xmlDoc functions from module xpath
  4672.     #
  4673.  
  4674.     def xpathNewContext(self):
  4675.         """Create a new xmlXPathContext """
  4676.         ret = libxml2mod.xmlXPathNewContext(self._o)
  4677.         if ret is None:raise xpathError('xmlXPathNewContext() failed')
  4678.         __tmp = xpathContext(_obj=ret)
  4679.         return __tmp
  4680.  
  4681.     def xpathOrderDocElems(self):
  4682.         """Call this routine to speed up XPath computation on static
  4683.            documents. This stamps all the element nodes with the
  4684.            document order Like for line information, the order is
  4685.            kept in the element->content field, the value stored is
  4686.            actually - the node number (starting at -1) to be able to
  4687.            differentiate from line numbers. """
  4688.         ret = libxml2mod.xmlXPathOrderDocElems(self._o)
  4689.         return ret
  4690.  
  4691.     #
  4692.     # xmlDoc functions from module xpointer
  4693.     #
  4694.  
  4695.     def xpointerNewContext(self, here, origin):
  4696.         """Create a new XPointer context """
  4697.         if here is None: here__o = None
  4698.         else: here__o = here._o
  4699.         if origin is None: origin__o = None
  4700.         else: origin__o = origin._o
  4701.         ret = libxml2mod.xmlXPtrNewContext(self._o, here__o, origin__o)
  4702.         if ret is None:raise treeError('xmlXPtrNewContext() failed')
  4703.         __tmp = xpathContext(_obj=ret)
  4704.         return __tmp
  4705.  
  4706. class xmlAttr(xmlNode):
  4707.     def __init__(self, _obj=None):
  4708.         if type(_obj).__name__ != 'PyCObject':
  4709.             raise TypeError, 'xmlAttr needs a PyCObject argument'
  4710.         self._o = _obj
  4711.         xmlNode.__init__(self, _obj=_obj)
  4712.  
  4713.     def __repr__(self):
  4714.         return "<xmlAttr (%s) object at 0x%x>" % (self.name, long(id (self)))
  4715.  
  4716.     #
  4717.     # xmlAttr functions from module debugXML
  4718.     #
  4719.  
  4720.     def debugDumpAttr(self, output, depth):
  4721.         """Dumps debug information for the attribute """
  4722.         libxml2mod.xmlDebugDumpAttr(output, self._o, depth)
  4723.  
  4724.     def debugDumpAttrList(self, output, depth):
  4725.         """Dumps debug information for the attribute list """
  4726.         libxml2mod.xmlDebugDumpAttrList(output, self._o, depth)
  4727.  
  4728.     #
  4729.     # xmlAttr functions from module tree
  4730.     #
  4731.  
  4732.     def copyProp(self, target):
  4733.         """Do a copy of the attribute. """
  4734.         if target is None: target__o = None
  4735.         else: target__o = target._o
  4736.         ret = libxml2mod.xmlCopyProp(target__o, self._o)
  4737.         if ret is None:raise treeError('xmlCopyProp() failed')
  4738.         __tmp = xmlAttr(_obj=ret)
  4739.         return __tmp
  4740.  
  4741.     def copyPropList(self, target):
  4742.         """Do a copy of an attribute list. """
  4743.         if target is None: target__o = None
  4744.         else: target__o = target._o
  4745.         ret = libxml2mod.xmlCopyPropList(target__o, self._o)
  4746.         if ret is None:raise treeError('xmlCopyPropList() failed')
  4747.         __tmp = xmlAttr(_obj=ret)
  4748.         return __tmp
  4749.  
  4750.     def freeProp(self):
  4751.         """Free one attribute, all the content is freed too """
  4752.         libxml2mod.xmlFreeProp(self._o)
  4753.  
  4754.     def freePropList(self):
  4755.         """Free a property and all its siblings, all the children are
  4756.            freed too. """
  4757.         libxml2mod.xmlFreePropList(self._o)
  4758.  
  4759.     def removeProp(self):
  4760.         """Unlink and free one attribute, all the content is freed too
  4761.            Note this doesn't work for namespace definition attributes """
  4762.         ret = libxml2mod.xmlRemoveProp(self._o)
  4763.         return ret
  4764.  
  4765.     #
  4766.     # xmlAttr functions from module valid
  4767.     #
  4768.  
  4769.     def removeID(self, doc):
  4770.         """Remove the given attribute from the ID table maintained
  4771.            internally. """
  4772.         if doc is None: doc__o = None
  4773.         else: doc__o = doc._o
  4774.         ret = libxml2mod.xmlRemoveID(doc__o, self._o)
  4775.         return ret
  4776.  
  4777.     def removeRef(self, doc):
  4778.         """Remove the given attribute from the Ref table maintained
  4779.            internally. """
  4780.         if doc is None: doc__o = None
  4781.         else: doc__o = doc._o
  4782.         ret = libxml2mod.xmlRemoveRef(doc__o, self._o)
  4783.         return ret
  4784.  
  4785. class xmlReg:
  4786.     def __init__(self, _obj=None):
  4787.         if _obj != None:self._o = _obj;return
  4788.         self._o = None
  4789.  
  4790.     def __del__(self):
  4791.         if self._o != None:
  4792.             libxml2mod.xmlRegFreeRegexp(self._o)
  4793.         self._o = None
  4794.  
  4795.     #
  4796.     # xmlReg functions from module xmlregexp
  4797.     #
  4798.  
  4799.     def regexpExec(self, content):
  4800.         """Check if the regular expression generates the value """
  4801.         ret = libxml2mod.xmlRegexpExec(self._o, content)
  4802.         return ret
  4803.  
  4804.     def regexpIsDeterminist(self):
  4805.         """Check if the regular expression is determinist """
  4806.         ret = libxml2mod.xmlRegexpIsDeterminist(self._o)
  4807.         return ret
  4808.  
  4809.     def regexpPrint(self, output):
  4810.         """Print the content of the compiled regular expression """
  4811.         libxml2mod.xmlRegexpPrint(output, self._o)
  4812.  
  4813. class relaxNgValidCtxt(relaxNgValidCtxtCore):
  4814.     def __init__(self, _obj=None):
  4815.         self.schema = None
  4816.         self._o = _obj
  4817.         relaxNgValidCtxtCore.__init__(self, _obj=_obj)
  4818.  
  4819.     def __del__(self):
  4820.         if self._o != None:
  4821.             libxml2mod.xmlRelaxNGFreeValidCtxt(self._o)
  4822.         self._o = None
  4823.  
  4824.     #
  4825.     # relaxNgValidCtxt functions from module relaxng
  4826.     #
  4827.  
  4828.     def relaxNGValidateDoc(self, doc):
  4829.         """Validate a document tree in memory. """
  4830.         if doc is None: doc__o = None
  4831.         else: doc__o = doc._o
  4832.         ret = libxml2mod.xmlRelaxNGValidateDoc(self._o, doc__o)
  4833.         return ret
  4834.  
  4835.     def relaxNGValidateFullElement(self, doc, elem):
  4836.         """Validate a full subtree when
  4837.            xmlRelaxNGValidatePushElement() returned 0 and the content
  4838.            of the node has been expanded. """
  4839.         if doc is None: doc__o = None
  4840.         else: doc__o = doc._o
  4841.         if elem is None: elem__o = None
  4842.         else: elem__o = elem._o
  4843.         ret = libxml2mod.xmlRelaxNGValidateFullElement(self._o, doc__o, elem__o)
  4844.         return ret
  4845.  
  4846.     def relaxNGValidatePopElement(self, doc, elem):
  4847.         """Pop the element end from the RelaxNG validation stack. """
  4848.         if doc is None: doc__o = None
  4849.         else: doc__o = doc._o
  4850.         if elem is None: elem__o = None
  4851.         else: elem__o = elem._o
  4852.         ret = libxml2mod.xmlRelaxNGValidatePopElement(self._o, doc__o, elem__o)
  4853.         return ret
  4854.  
  4855.     def relaxNGValidatePushCData(self, data, len):
  4856.         """check the CData parsed for validation in the current stack """
  4857.         ret = libxml2mod.xmlRelaxNGValidatePushCData(self._o, data, len)
  4858.         return ret
  4859.  
  4860.     def relaxNGValidatePushElement(self, doc, elem):
  4861.         """Push a new element start on the RelaxNG validation stack. """
  4862.         if doc is None: doc__o = None
  4863.         else: doc__o = doc._o
  4864.         if elem is None: elem__o = None
  4865.         else: elem__o = elem._o
  4866.         ret = libxml2mod.xmlRelaxNGValidatePushElement(self._o, doc__o, elem__o)
  4867.         return ret
  4868.  
  4869. class parserCtxt(parserCtxtCore):
  4870.     def __init__(self, _obj=None):
  4871.         self._o = _obj
  4872.         parserCtxtCore.__init__(self, _obj=_obj)
  4873.  
  4874.     def __del__(self):
  4875.         if self._o != None:
  4876.             libxml2mod.xmlFreeParserCtxt(self._o)
  4877.         self._o = None
  4878.  
  4879.     # accessors for parserCtxt
  4880.     def doc(self):
  4881.         """Get the document tree from a parser context. """
  4882.         ret = libxml2mod.xmlParserGetDoc(self._o)
  4883.         if ret is None:raise parserError('xmlParserGetDoc() failed')
  4884.         __tmp = xmlDoc(_obj=ret)
  4885.         return __tmp
  4886.  
  4887.     def isValid(self):
  4888.         """Get the validity information from a parser context. """
  4889.         ret = libxml2mod.xmlParserGetIsValid(self._o)
  4890.         return ret
  4891.  
  4892.     def lineNumbers(self, linenumbers):
  4893.         """Switch on the generation of line number for elements nodes. """
  4894.         libxml2mod.xmlParserSetLineNumbers(self._o, linenumbers)
  4895.  
  4896.     def loadSubset(self, loadsubset):
  4897.         """Switch the parser to load the DTD without validating. """
  4898.         libxml2mod.xmlParserSetLoadSubset(self._o, loadsubset)
  4899.  
  4900.     def pedantic(self, pedantic):
  4901.         """Switch the parser to be pedantic. """
  4902.         libxml2mod.xmlParserSetPedantic(self._o, pedantic)
  4903.  
  4904.     def replaceEntities(self, replaceEntities):
  4905.         """Switch the parser to replace entities. """
  4906.         libxml2mod.xmlParserSetReplaceEntities(self._o, replaceEntities)
  4907.  
  4908.     def validate(self, validate):
  4909.         """Switch the parser to validation mode. """
  4910.         libxml2mod.xmlParserSetValidate(self._o, validate)
  4911.  
  4912.     def wellFormed(self):
  4913.         """Get the well formed information from a parser context. """
  4914.         ret = libxml2mod.xmlParserGetWellFormed(self._o)
  4915.         return ret
  4916.  
  4917.     #
  4918.     # parserCtxt functions from module HTMLparser
  4919.     #
  4920.  
  4921.     def htmlCtxtReadDoc(self, cur, URL, encoding, options):
  4922.         """parse an XML in-memory document and build a tree. This
  4923.            reuses the existing @ctxt parser context """
  4924.         ret = libxml2mod.htmlCtxtReadDoc(self._o, cur, URL, encoding, options)
  4925.         if ret is None:raise treeError('htmlCtxtReadDoc() failed')
  4926.         __tmp = xmlDoc(_obj=ret)
  4927.         return __tmp
  4928.  
  4929.     def htmlCtxtReadFd(self, fd, URL, encoding, options):
  4930.         """parse an XML from a file descriptor and build a tree. This
  4931.            reuses the existing @ctxt parser context """
  4932.         ret = libxml2mod.htmlCtxtReadFd(self._o, fd, URL, encoding, options)
  4933.         if ret is None:raise treeError('htmlCtxtReadFd() failed')
  4934.         __tmp = xmlDoc(_obj=ret)
  4935.         return __tmp
  4936.  
  4937.     def htmlCtxtReadFile(self, filename, encoding, options):
  4938.         """parse an XML file from the filesystem or the network. This
  4939.            reuses the existing @ctxt parser context """
  4940.         ret = libxml2mod.htmlCtxtReadFile(self._o, filename, encoding, options)
  4941.         if ret is None:raise treeError('htmlCtxtReadFile() failed')
  4942.         __tmp = xmlDoc(_obj=ret)
  4943.         return __tmp
  4944.  
  4945.     def htmlCtxtReadMemory(self, buffer, size, URL, encoding, options):
  4946.         """parse an XML in-memory document and build a tree. This
  4947.            reuses the existing @ctxt parser context """
  4948.         ret = libxml2mod.htmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
  4949.         if ret is None:raise treeError('htmlCtxtReadMemory() failed')
  4950.         __tmp = xmlDoc(_obj=ret)
  4951.         return __tmp
  4952.  
  4953.     def htmlCtxtReset(self):
  4954.         """Reset a parser context """
  4955.         libxml2mod.htmlCtxtReset(self._o)
  4956.  
  4957.     def htmlCtxtUseOptions(self, options):
  4958.         """Applies the options to the parser context """
  4959.         ret = libxml2mod.htmlCtxtUseOptions(self._o, options)
  4960.         return ret
  4961.  
  4962.     def htmlFreeParserCtxt(self):
  4963.         """Free all the memory used by a parser context. However the
  4964.            parsed document in ctxt->myDoc is not freed. """
  4965.         libxml2mod.htmlFreeParserCtxt(self._o)
  4966.  
  4967.     def htmlParseCharRef(self):
  4968.         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
  4969.            ';' | '&#x' [0-9a-fA-F]+ ';' """
  4970.         ret = libxml2mod.htmlParseCharRef(self._o)
  4971.         return ret
  4972.  
  4973.     def htmlParseChunk(self, chunk, size, terminate):
  4974.         """Parse a Chunk of memory """
  4975.         ret = libxml2mod.htmlParseChunk(self._o, chunk, size, terminate)
  4976.         return ret
  4977.  
  4978.     def htmlParseDocument(self):
  4979.         """parse an HTML document (and build a tree if using the
  4980.            standard SAX interface). """
  4981.         ret = libxml2mod.htmlParseDocument(self._o)
  4982.         return ret
  4983.  
  4984.     def htmlParseElement(self):
  4985.         """parse an HTML element, this is highly recursive  [39]
  4986.            element ::= EmptyElemTag | STag content ETag  [41]
  4987.            Attribute ::= Name Eq AttValue """
  4988.         libxml2mod.htmlParseElement(self._o)
  4989.  
  4990.     #
  4991.     # parserCtxt functions from module parser
  4992.     #
  4993.  
  4994.     def byteConsumed(self):
  4995.         """This function provides the current index of the parser
  4996.            relative to the start of the current entity. This function
  4997.            is computed in bytes from the beginning starting at zero
  4998.            and finishing at the size in byte of the file if parsing a
  4999.            file. The function is of constant cost if the input is
  5000.            UTF-8 but can be costly if run on non-UTF-8 input. """
  5001.         ret = libxml2mod.xmlByteConsumed(self._o)
  5002.         return ret
  5003.  
  5004.     def clearParserCtxt(self):
  5005.         """Clear (release owned resources) and reinitialize a parser
  5006.            context """
  5007.         libxml2mod.xmlClearParserCtxt(self._o)
  5008.  
  5009.     def ctxtReadDoc(self, cur, URL, encoding, options):
  5010.         """parse an XML in-memory document and build a tree. This
  5011.            reuses the existing @ctxt parser context """
  5012.         ret = libxml2mod.xmlCtxtReadDoc(self._o, cur, URL, encoding, options)
  5013.         if ret is None:raise treeError('xmlCtxtReadDoc() failed')
  5014.         __tmp = xmlDoc(_obj=ret)
  5015.         return __tmp
  5016.  
  5017.     def ctxtReadFd(self, fd, URL, encoding, options):
  5018.         """parse an XML from a file descriptor and build a tree. This
  5019.            reuses the existing @ctxt parser context NOTE that the
  5020.            file descriptor will not be closed when the reader is
  5021.            closed or reset. """
  5022.         ret = libxml2mod.xmlCtxtReadFd(self._o, fd, URL, encoding, options)
  5023.         if ret is None:raise treeError('xmlCtxtReadFd() failed')
  5024.         __tmp = xmlDoc(_obj=ret)
  5025.         return __tmp
  5026.  
  5027.     def ctxtReadFile(self, filename, encoding, options):
  5028.         """parse an XML file from the filesystem or the network. This
  5029.            reuses the existing @ctxt parser context """
  5030.         ret = libxml2mod.xmlCtxtReadFile(self._o, filename, encoding, options)
  5031.         if ret is None:raise treeError('xmlCtxtReadFile() failed')
  5032.         __tmp = xmlDoc(_obj=ret)
  5033.         return __tmp
  5034.  
  5035.     def ctxtReadMemory(self, buffer, size, URL, encoding, options):
  5036.         """parse an XML in-memory document and build a tree. This
  5037.            reuses the existing @ctxt parser context """
  5038.         ret = libxml2mod.xmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
  5039.         if ret is None:raise treeError('xmlCtxtReadMemory() failed')
  5040.         __tmp = xmlDoc(_obj=ret)
  5041.         return __tmp
  5042.  
  5043.     def ctxtReset(self):
  5044.         """Reset a parser context """
  5045.         libxml2mod.xmlCtxtReset(self._o)
  5046.  
  5047.     def ctxtResetPush(self, chunk, size, filename, encoding):
  5048.         """Reset a push parser context """
  5049.         ret = libxml2mod.xmlCtxtResetPush(self._o, chunk, size, filename, encoding)
  5050.         return ret
  5051.  
  5052.     def ctxtUseOptions(self, options):
  5053.         """Applies the options to the parser context """
  5054.         ret = libxml2mod.xmlCtxtUseOptions(self._o, options)
  5055.         return ret
  5056.  
  5057.     def initParserCtxt(self):
  5058.         """Initialize a parser context """
  5059.         ret = libxml2mod.xmlInitParserCtxt(self._o)
  5060.         return ret
  5061.  
  5062.     def parseChunk(self, chunk, size, terminate):
  5063.         """Parse a Chunk of memory """
  5064.         ret = libxml2mod.xmlParseChunk(self._o, chunk, size, terminate)
  5065.         return ret
  5066.  
  5067.     def parseDocument(self):
  5068.         """parse an XML document (and build a tree if using the
  5069.            standard SAX interface).  [1] document ::= prolog element
  5070.            Misc*  [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? """
  5071.         ret = libxml2mod.xmlParseDocument(self._o)
  5072.         return ret
  5073.  
  5074.     def parseExtParsedEnt(self):
  5075.         """parse a general parsed entity An external general parsed
  5076.            entity is well-formed if it matches the production labeled
  5077.            extParsedEnt.  [78] extParsedEnt ::= TextDecl? content """
  5078.         ret = libxml2mod.xmlParseExtParsedEnt(self._o)
  5079.         return ret
  5080.  
  5081.     def setupParserForBuffer(self, buffer, filename):
  5082.         """Setup the parser context to parse a new buffer; Clears any
  5083.            prior contents from the parser context. The buffer
  5084.            parameter must not be None, but the filename parameter can
  5085.            be """
  5086.         libxml2mod.xmlSetupParserForBuffer(self._o, buffer, filename)
  5087.  
  5088.     def stopParser(self):
  5089.         """Blocks further parser processing """
  5090.         libxml2mod.xmlStopParser(self._o)
  5091.  
  5092.     #
  5093.     # parserCtxt functions from module parserInternals
  5094.     #
  5095.  
  5096.     def decodeEntities(self, len, what, end, end2, end3):
  5097.         """This function is deprecated, we now always process entities
  5098.            content through xmlStringDecodeEntities  TODO: remove it
  5099.            in next major release.  [67] Reference ::= EntityRef |
  5100.            CharRef  [69] PEReference ::= '%' Name ';' """
  5101.         ret = libxml2mod.xmlDecodeEntities(self._o, len, what, end, end2, end3)
  5102.         return ret
  5103.  
  5104.     def handleEntity(self, entity):
  5105.         """Default handling of defined entities, when should we define
  5106.            a new input stream ? When do we just handle that as a set
  5107.            of chars ?  OBSOLETE: to be removed at some point. """
  5108.         if entity is None: entity__o = None
  5109.         else: entity__o = entity._o
  5110.         libxml2mod.xmlHandleEntity(self._o, entity__o)
  5111.  
  5112.     def namespaceParseNCName(self):
  5113.         """parse an XML namespace name.  TODO: this seems not in use
  5114.            anymore, the namespace handling is done on top of the SAX
  5115.            interfaces, i.e. not on raw input.  [NS 3] NCName ::=
  5116.            (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::= Letter
  5117.            | Digit | '.' | '-' | '_' | CombiningChar | Extender """
  5118.         ret = libxml2mod.xmlNamespaceParseNCName(self._o)
  5119.         return ret
  5120.  
  5121.     def namespaceParseNSDef(self):
  5122.         """parse a namespace prefix declaration  TODO: this seems not
  5123.            in use anymore, the namespace handling is done on top of
  5124.            the SAX interfaces, i.e. not on raw input.  [NS 1] NSDef
  5125.            ::= PrefixDef Eq SystemLiteral  [NS 2] PrefixDef ::=
  5126.            'xmlns' (':' NCName)? """
  5127.         ret = libxml2mod.xmlNamespaceParseNSDef(self._o)
  5128.         return ret
  5129.  
  5130.     def nextChar(self):
  5131.         """Skip to the next char input char. """
  5132.         libxml2mod.xmlNextChar(self._o)
  5133.  
  5134.     def parseAttValue(self):
  5135.         """parse a value for an attribute Note: the parser won't do
  5136.            substitution of entities here, this will be handled later
  5137.            in xmlStringGetNodeList  [10] AttValue ::= '"' ([^<&"] |
  5138.            Reference)* '"' | "'" ([^<&'] | Reference)* "'"  3.3.3
  5139.            Attribute-Value Normalization: Before the value of an
  5140.            attribute is passed to the application or checked for
  5141.            validity, the XML processor must normalize it as follows:
  5142.            - a character reference is processed by appending the
  5143.            referenced character to the attribute value - an entity
  5144.            reference is processed by recursively processing the
  5145.            replacement text of the entity - a whitespace character
  5146.            (#x20, #xD, #xA, #x9) is processed by appending #x20 to
  5147.            the normalized value, except that only a single #x20 is
  5148.            appended for a "#xD#xA" sequence that is part of an
  5149.            external parsed entity or the literal entity value of an
  5150.            internal parsed entity - other characters are processed by
  5151.            appending them to the normalized value If the declared
  5152.            value is not CDATA, then the XML processor must further
  5153.            process the normalized attribute value by discarding any
  5154.            leading and trailing space (#x20) characters, and by
  5155.            replacing sequences of space (#x20) characters by a single
  5156.            space (#x20) character. All attributes for which no
  5157.            declaration has been read should be treated by a
  5158.            non-validating parser as if declared CDATA. """
  5159.         ret = libxml2mod.xmlParseAttValue(self._o)
  5160.         return ret
  5161.  
  5162.     def parseAttributeListDecl(self):
  5163.         """: parse the Attribute list def for an element  [52]
  5164.            AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'  [53]
  5165.            AttDef ::= S Name S AttType S DefaultDecl """
  5166.         libxml2mod.xmlParseAttributeListDecl(self._o)
  5167.  
  5168.     def parseCDSect(self):
  5169.         """Parse escaped pure raw content.  [18] CDSect ::= CDStart
  5170.            CData CDEnd  [19] CDStart ::= '<![CDATA['  [20] Data ::=
  5171.            (Char* - (Char* ']]>' Char*))  [21] CDEnd ::= ']]>' """
  5172.         libxml2mod.xmlParseCDSect(self._o)
  5173.  
  5174.     def parseCharData(self, cdata):
  5175.         """parse a CharData section. if we are within a CDATA section
  5176.            ']]>' marks an end of section.  The right angle bracket
  5177.            (>) may be represented using the string ">", and must,
  5178.            for compatibility, be escaped using ">" or a character
  5179.            reference when it appears in the string "]]>" in content,
  5180.            when that string is not marking the end of a CDATA
  5181.            section.  [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) """
  5182.         libxml2mod.xmlParseCharData(self._o, cdata)
  5183.  
  5184.     def parseCharRef(self):
  5185.         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
  5186.            ';' | '&#x' [0-9a-fA-F]+ ';'  [ WFC: Legal Character ]
  5187.            Characters referred to using character references must
  5188.            match the production for Char. """
  5189.         ret = libxml2mod.xmlParseCharRef(self._o)
  5190.         return ret
  5191.  
  5192.     def parseComment(self):
  5193.         """Skip an XML (SGML) comment <!-- .... --> The spec says that
  5194.            "For compatibility, the string "--" (double-hyphen) must
  5195.            not occur within comments. "  [15] Comment ::= '<!--'
  5196.            ((Char - '-') | ('-' (Char - '-')))* '-->' """
  5197.         libxml2mod.xmlParseComment(self._o)
  5198.  
  5199.     def parseContent(self):
  5200.         """Parse a content:  [43] content ::= (element | CharData |
  5201.            Reference | CDSect | PI | Comment)* """
  5202.         libxml2mod.xmlParseContent(self._o)
  5203.  
  5204.     def parseDocTypeDecl(self):
  5205.         """parse a DOCTYPE declaration  [28] doctypedecl ::=
  5206.            '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl |
  5207.            PEReference | S)* ']' S?)? '>'  [ VC: Root Element Type ]
  5208.            The Name in the document type declaration must match the
  5209.            element type of the root element. """
  5210.         libxml2mod.xmlParseDocTypeDecl(self._o)
  5211.  
  5212.     def parseElement(self):
  5213.         """parse an XML element, this is highly recursive  [39]
  5214.            element ::= EmptyElemTag | STag content ETag  [ WFC:
  5215.            Element Type Match ] The Name in an element's end-tag must
  5216.            match the element type in the start-tag. """
  5217.         libxml2mod.xmlParseElement(self._o)
  5218.  
  5219.     def parseElementDecl(self):
  5220.         """parse an Element declaration.  [45] elementdecl ::=
  5221.            '<!ELEMENT' S Name S contentspec S? '>'  [ VC: Unique
  5222.            Element Type Declaration ] No element type may be declared
  5223.            more than once """
  5224.         ret = libxml2mod.xmlParseElementDecl(self._o)
  5225.         return ret
  5226.  
  5227.     def parseEncName(self):
  5228.         """parse the XML encoding name  [81] EncName ::= [A-Za-z]
  5229.            ([A-Za-z0-9._] | '-')* """
  5230.         ret = libxml2mod.xmlParseEncName(self._o)
  5231.         return ret
  5232.  
  5233.     def parseEncodingDecl(self):
  5234.         """parse the XML encoding declaration  [80] EncodingDecl ::= S
  5235.            'encoding' Eq ('"' EncName '"' |  "'" EncName "'")  this
  5236.            setups the conversion filters. """
  5237.         ret = libxml2mod.xmlParseEncodingDecl(self._o)
  5238.         return ret
  5239.  
  5240.     def parseEndTag(self):
  5241.         """parse an end of tag  [42] ETag ::= '</' Name S? '>'  With
  5242.            namespace  [NS 9] ETag ::= '</' QName S? '>' """
  5243.         libxml2mod.xmlParseEndTag(self._o)
  5244.  
  5245.     def parseEntityDecl(self):
  5246.         """parse <!ENTITY declarations  [70] EntityDecl ::= GEDecl |
  5247.            PEDecl  [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S?
  5248.            '>'  [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S?
  5249.            '>'  [73] EntityDef ::= EntityValue | (ExternalID
  5250.            NDataDecl?)  [74] PEDef ::= EntityValue | ExternalID  [76]
  5251.            NDataDecl ::= S 'NDATA' S Name  [ VC: Notation Declared ]
  5252.            The Name must match the declared name of a notation. """
  5253.         libxml2mod.xmlParseEntityDecl(self._o)
  5254.  
  5255.     def parseEntityRef(self):
  5256.         """parse ENTITY references declarations  [68] EntityRef ::=
  5257.            '&' Name ';'  [ WFC: Entity Declared ] In a document
  5258.            without any DTD, a document with only an internal DTD
  5259.            subset which contains no parameter entity references, or a
  5260.            document with "standalone='yes'", the Name given in the
  5261.            entity reference must match that in an entity declaration,
  5262.            except that well-formed documents need not declare any of
  5263.            the following entities: amp, lt, gt, apos, quot.  The
  5264.            declaration of a parameter entity must precede any
  5265.            reference to it.  Similarly, the declaration of a general
  5266.            entity must precede any reference to it which appears in a
  5267.            default value in an attribute-list declaration. Note that
  5268.            if entities are declared in the external subset or in
  5269.            external parameter entities, a non-validating processor is
  5270.            not obligated to read and process their declarations; for
  5271.            such documents, the rule that an entity must be declared
  5272.            is a well-formedness constraint only if standalone='yes'. 
  5273.            [ WFC: Parsed Entity ] An entity reference must not
  5274.            contain the name of an unparsed entity """
  5275.         ret = libxml2mod.xmlParseEntityRef(self._o)
  5276.         if ret is None:raise parserError('xmlParseEntityRef() failed')
  5277.         __tmp = xmlEntity(_obj=ret)
  5278.         return __tmp
  5279.  
  5280.     def parseExternalSubset(self, ExternalID, SystemID):
  5281.         """parse Markup declarations from an external subset  [30]
  5282.            extSubset ::= textDecl? extSubsetDecl  [31] extSubsetDecl
  5283.            ::= (markupdecl | conditionalSect | PEReference | S) * """
  5284.         libxml2mod.xmlParseExternalSubset(self._o, ExternalID, SystemID)
  5285.  
  5286.     def parseMarkupDecl(self):
  5287.         """parse Markup declarations  [29] markupdecl ::= elementdecl
  5288.            | AttlistDecl | EntityDecl | NotationDecl | PI | Comment 
  5289.            [ VC: Proper Declaration/PE Nesting ] Parameter-entity
  5290.            replacement text must be properly nested with markup
  5291.            declarations. That is to say, if either the first
  5292.            character or the last character of a markup declaration
  5293.            (markupdecl above) is contained in the replacement text
  5294.            for a parameter-entity reference, both must be contained
  5295.            in the same replacement text.  [ WFC: PEs in Internal
  5296.            Subset ] In the internal DTD subset, parameter-entity
  5297.            references can occur only where markup declarations can
  5298.            occur, not within markup declarations. (This does not
  5299.            apply to references that occur in external parameter
  5300.            entities or to the external subset.) """
  5301.         libxml2mod.xmlParseMarkupDecl(self._o)
  5302.  
  5303.     def parseMisc(self):
  5304.         """parse an XML Misc* optional field.  [27] Misc ::= Comment |
  5305.            PI |  S """
  5306.         libxml2mod.xmlParseMisc(self._o)
  5307.  
  5308.     def parseName(self):
  5309.         """parse an XML name.  [4] NameChar ::= Letter | Digit | '.' |
  5310.            '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
  5311.            (Letter | '_' | ':') (NameChar)*  [6] Names ::= Name (#x20
  5312.            Name)* """
  5313.         ret = libxml2mod.xmlParseName(self._o)
  5314.         return ret
  5315.  
  5316.     def parseNamespace(self):
  5317.         """xmlParseNamespace: parse specific PI '<?namespace ...'
  5318.            constructs.  This is what the older xml-name Working Draft
  5319.            specified, a bunch of other stuff may still rely on it, so
  5320.            support is still here as if it was declared on the root of
  5321.            the Tree:-(  TODO: remove from library  To be removed at
  5322.            next drop of binary compatibility """
  5323.         libxml2mod.xmlParseNamespace(self._o)
  5324.  
  5325.     def parseNmtoken(self):
  5326.         """parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8]
  5327.            Nmtokens ::= Nmtoken (#x20 Nmtoken)* """
  5328.         ret = libxml2mod.xmlParseNmtoken(self._o)
  5329.         return ret
  5330.  
  5331.     def parseNotationDecl(self):
  5332.         """parse a notation declaration  [82] NotationDecl ::=
  5333.            '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>' 
  5334.            Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral
  5335.            'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S
  5336.            SystemLiteral  See the NOTE on xmlParseExternalID(). """
  5337.         libxml2mod.xmlParseNotationDecl(self._o)
  5338.  
  5339.     def parsePEReference(self):
  5340.         """parse PEReference declarations The entity content is
  5341.            handled directly by pushing it's content as a new input
  5342.            stream.  [69] PEReference ::= '%' Name ';'  [ WFC: No
  5343.            Recursion ] A parsed entity must not contain a recursive
  5344.            reference to itself, either directly or indirectly.  [
  5345.            WFC: Entity Declared ] In a document without any DTD, a
  5346.            document with only an internal DTD subset which contains
  5347.            no parameter entity references, or a document with
  5348.            "standalone='yes'", ...  ... The declaration of a
  5349.            parameter entity must precede any reference to it...  [
  5350.            VC: Entity Declared ] In a document with an external
  5351.            subset or external parameter entities with
  5352.            "standalone='no'", ...  ... The declaration of a parameter
  5353.            entity must precede any reference to it...  [ WFC: In DTD
  5354.            ] Parameter-entity references may only appear in the DTD.
  5355.            NOTE: misleading but this is handled. """
  5356.         libxml2mod.xmlParsePEReference(self._o)
  5357.  
  5358.     def parsePI(self):
  5359.         """parse an XML Processing Instruction.  [16] PI ::= '<?'
  5360.            PITarget (S (Char* - (Char* '?>' Char*)))? '?>'  The
  5361.            processing is transfered to SAX once parsed. """
  5362.         libxml2mod.xmlParsePI(self._o)
  5363.  
  5364.     def parsePITarget(self):
  5365.         """parse the name of a PI  [17] PITarget ::= Name - (('X' |
  5366.            'x') ('M' | 'm') ('L' | 'l')) """
  5367.         ret = libxml2mod.xmlParsePITarget(self._o)
  5368.         return ret
  5369.  
  5370.     def parsePubidLiteral(self):
  5371.         """parse an XML public literal  [12] PubidLiteral ::= '"'
  5372.            PubidChar* '"' | "'" (PubidChar - "'")* "'" """
  5373.         ret = libxml2mod.xmlParsePubidLiteral(self._o)
  5374.         return ret
  5375.  
  5376.     def parseQuotedString(self):
  5377.         """Parse and return a string between quotes or doublequotes 
  5378.            TODO: Deprecated, to  be removed at next drop of binary
  5379.            compatibility """
  5380.         ret = libxml2mod.xmlParseQuotedString(self._o)
  5381.         return ret
  5382.  
  5383.     def parseReference(self):
  5384.         """parse and handle entity references in content, depending on
  5385.            the SAX interface, this may end-up in a call to
  5386.            character() if this is a CharRef, a predefined entity, if
  5387.            there is no reference() callback. or if the parser was
  5388.            asked to switch to that mode.  [67] Reference ::=
  5389.            EntityRef | CharRef """
  5390.         libxml2mod.xmlParseReference(self._o)
  5391.  
  5392.     def parseSDDecl(self):
  5393.         """parse the XML standalone declaration  [32] SDDecl ::= S
  5394.            'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' |
  5395.            'no')'"'))  [ VC: Standalone Document Declaration ] TODO
  5396.            The standalone document declaration must have the value
  5397.            "no" if any external markup declarations contain
  5398.            declarations of: - attributes with default values, if
  5399.            elements to which these attributes apply appear in the
  5400.            document without specifications of values for these
  5401.            attributes, or - entities (other than amp, lt, gt, apos,
  5402.            quot), if references to those entities appear in the
  5403.            document, or - attributes with values subject to
  5404.            normalization, where the attribute appears in the document
  5405.            with a value which will change as a result of
  5406.            normalization, or - element types with element content, if
  5407.            white space occurs directly within any instance of those
  5408.            types. """
  5409.         ret = libxml2mod.xmlParseSDDecl(self._o)
  5410.         return ret
  5411.  
  5412.     def parseStartTag(self):
  5413.         """parse a start of tag either for rule element or
  5414.            EmptyElement. In both case we don't parse the tag closing
  5415.            chars.  [40] STag ::= '<' Name (S Attribute)* S? '>'  [
  5416.            WFC: Unique Att Spec ] No attribute name may appear more
  5417.            than once in the same start-tag or empty-element tag. 
  5418.            [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'  [
  5419.            WFC: Unique Att Spec ] No attribute name may appear more
  5420.            than once in the same start-tag or empty-element tag. 
  5421.            With namespace:  [NS 8] STag ::= '<' QName (S Attribute)*
  5422.            S? '>'  [NS 10] EmptyElement ::= '<' QName (S Attribute)*
  5423.            S? '/>' """
  5424.         ret = libxml2mod.xmlParseStartTag(self._o)
  5425.         return ret
  5426.  
  5427.     def parseSystemLiteral(self):
  5428.         """parse an XML Literal  [11] SystemLiteral ::= ('"' [^"]*
  5429.            '"') | ("'" [^']* "'") """
  5430.         ret = libxml2mod.xmlParseSystemLiteral(self._o)
  5431.         return ret
  5432.  
  5433.     def parseTextDecl(self):
  5434.         """parse an XML declaration header for external entities  [77]
  5435.            TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' 
  5436.            Question: Seems that EncodingDecl is mandatory ? Is that a
  5437.            typo ? """
  5438.         libxml2mod.xmlParseTextDecl(self._o)
  5439.  
  5440.     def parseVersionInfo(self):
  5441.         """parse the XML version.  [24] VersionInfo ::= S 'version' Eq
  5442.            (' VersionNum ' | " VersionNum ")  [25] Eq ::= S? '=' S? """
  5443.         ret = libxml2mod.xmlParseVersionInfo(self._o)
  5444.         return ret
  5445.  
  5446.     def parseVersionNum(self):
  5447.         """parse the XML version value.  [26] VersionNum ::=
  5448.            ([a-zA-Z0-9_.:] | '-')+ """
  5449.         ret = libxml2mod.xmlParseVersionNum(self._o)
  5450.         return ret
  5451.  
  5452.     def parseXMLDecl(self):
  5453.         """parse an XML declaration header  [23] XMLDecl ::= '<?xml'
  5454.            VersionInfo EncodingDecl? SDDecl? S? '?>' """
  5455.         libxml2mod.xmlParseXMLDecl(self._o)
  5456.  
  5457.     def parserHandlePEReference(self):
  5458.         """[69] PEReference ::= '%' Name ';'  [ WFC: No Recursion ] A
  5459.            parsed entity must not contain a recursive reference to
  5460.            itself, either directly or indirectly.  [ WFC: Entity
  5461.            Declared ] In a document without any DTD, a document with
  5462.            only an internal DTD subset which contains no parameter
  5463.            entity references, or a document with "standalone='yes'",
  5464.            ...  ... The declaration of a parameter entity must
  5465.            precede any reference to it...  [ VC: Entity Declared ] In
  5466.            a document with an external subset or external parameter
  5467.            entities with "standalone='no'", ...  ... The declaration
  5468.            of a parameter entity must precede any reference to it... 
  5469.            [ WFC: In DTD ] Parameter-entity references may only
  5470.            appear in the DTD. NOTE: misleading but this is handled. 
  5471.            A PEReference may have been detected in the current input
  5472.            stream the handling is done accordingly to
  5473.            http://www.w3.org/TR/REC-xml#entproc i.e. - Included in
  5474.            literal in entity values - Included as Parameter Entity
  5475.            reference within DTDs """
  5476.         libxml2mod.xmlParserHandlePEReference(self._o)
  5477.  
  5478.     def parserHandleReference(self):
  5479.         """TODO: Remove, now deprecated ... the test is done directly
  5480.            in the content parsing routines.  [67] Reference ::=
  5481.            EntityRef | CharRef  [68] EntityRef ::= '&' Name ';'  [
  5482.            WFC: Entity Declared ] the Name given in the entity
  5483.            reference must match that in an entity declaration, except
  5484.            that well-formed documents need not declare any of the
  5485.            following entities: amp, lt, gt, apos, quot.  [ WFC:
  5486.            Parsed Entity ] An entity reference must not contain the
  5487.            name of an unparsed entity  [66] CharRef ::= '&#' [0-9]+
  5488.            ';' | '&#x' [0-9a-fA-F]+ ';'  A PEReference may have been
  5489.            detected in the current input stream the handling is done
  5490.            accordingly to http://www.w3.org/TR/REC-xml#entproc """
  5491.         libxml2mod.xmlParserHandleReference(self._o)
  5492.  
  5493.     def popInput(self):
  5494.         """xmlPopInput: the current input pointed by ctxt->input came
  5495.            to an end pop it and return the next char. """
  5496.         ret = libxml2mod.xmlPopInput(self._o)
  5497.         return ret
  5498.  
  5499.     def scanName(self):
  5500.         """Trickery: parse an XML name but without consuming the input
  5501.            flow Needed for rollback cases. Used only when parsing
  5502.            entities references.  TODO: seems deprecated now, only
  5503.            used in the default part of xmlParserHandleReference  [4]
  5504.            NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
  5505.            CombiningChar | Extender  [5] Name ::= (Letter | '_' |
  5506.            ':') (NameChar)*  [6] Names ::= Name (S Name)* """
  5507.         ret = libxml2mod.xmlScanName(self._o)
  5508.         return ret
  5509.  
  5510.     def skipBlankChars(self):
  5511.         """skip all blanks character found at that point in the input
  5512.            streams. It pops up finished entities in the process if
  5513.            allowable at that point. """
  5514.         ret = libxml2mod.xmlSkipBlankChars(self._o)
  5515.         return ret
  5516.  
  5517.     def stringDecodeEntities(self, str, what, end, end2, end3):
  5518.         """Takes a entity string content and process to do the
  5519.            adequate substitutions.  [67] Reference ::= EntityRef |
  5520.            CharRef  [69] PEReference ::= '%' Name ';' """
  5521.         ret = libxml2mod.xmlStringDecodeEntities(self._o, str, what, end, end2, end3)
  5522.         return ret
  5523.  
  5524.     def stringLenDecodeEntities(self, str, len, what, end, end2, end3):
  5525.         """Takes a entity string content and process to do the
  5526.            adequate substitutions.  [67] Reference ::= EntityRef |
  5527.            CharRef  [69] PEReference ::= '%' Name ';' """
  5528.         ret = libxml2mod.xmlStringLenDecodeEntities(self._o, str, len, what, end, end2, end3)
  5529.         return ret
  5530.  
  5531. class xmlDtd(xmlNode):
  5532.     def __init__(self, _obj=None):
  5533.         if type(_obj).__name__ != 'PyCObject':
  5534.             raise TypeError, 'xmlDtd needs a PyCObject argument'
  5535.         self._o = _obj
  5536.         xmlNode.__init__(self, _obj=_obj)
  5537.  
  5538.     def __repr__(self):
  5539.         return "<xmlDtd (%s) object at 0x%x>" % (self.name, long(id (self)))
  5540.  
  5541.     #
  5542.     # xmlDtd functions from module debugXML
  5543.     #
  5544.  
  5545.     def debugDumpDTD(self, output):
  5546.         """Dumps debug information for the DTD """
  5547.         libxml2mod.xmlDebugDumpDTD(output, self._o)
  5548.  
  5549.     #
  5550.     # xmlDtd functions from module tree
  5551.     #
  5552.  
  5553.     def copyDtd(self):
  5554.         """Do a copy of the dtd. """
  5555.         ret = libxml2mod.xmlCopyDtd(self._o)
  5556.         if ret is None:raise treeError('xmlCopyDtd() failed')
  5557.         __tmp = xmlDtd(_obj=ret)
  5558.         return __tmp
  5559.  
  5560.     def freeDtd(self):
  5561.         """Free a DTD structure. """
  5562.         libxml2mod.xmlFreeDtd(self._o)
  5563.  
  5564.     #
  5565.     # xmlDtd functions from module valid
  5566.     #
  5567.  
  5568.     def dtdAttrDesc(self, elem, name):
  5569.         """Search the DTD for the description of this attribute on
  5570.            this element. """
  5571.         ret = libxml2mod.xmlGetDtdAttrDesc(self._o, elem, name)
  5572.         if ret is None:raise treeError('xmlGetDtdAttrDesc() failed')
  5573.         __tmp = xmlAttribute(_obj=ret)
  5574.         return __tmp
  5575.  
  5576.     def dtdElementDesc(self, name):
  5577.         """Search the DTD for the description of this element """
  5578.         ret = libxml2mod.xmlGetDtdElementDesc(self._o, name)
  5579.         if ret is None:raise treeError('xmlGetDtdElementDesc() failed')
  5580.         __tmp = xmlElement(_obj=ret)
  5581.         return __tmp
  5582.  
  5583.     def dtdQAttrDesc(self, elem, name, prefix):
  5584.         """Search the DTD for the description of this qualified
  5585.            attribute on this element. """
  5586.         ret = libxml2mod.xmlGetDtdQAttrDesc(self._o, elem, name, prefix)
  5587.         if ret is None:raise treeError('xmlGetDtdQAttrDesc() failed')
  5588.         __tmp = xmlAttribute(_obj=ret)
  5589.         return __tmp
  5590.  
  5591.     def dtdQElementDesc(self, name, prefix):
  5592.         """Search the DTD for the description of this element """
  5593.         ret = libxml2mod.xmlGetDtdQElementDesc(self._o, name, prefix)
  5594.         if ret is None:raise treeError('xmlGetDtdQElementDesc() failed')
  5595.         __tmp = xmlElement(_obj=ret)
  5596.         return __tmp
  5597.  
  5598. class relaxNgParserCtxt:
  5599.     def __init__(self, _obj=None):
  5600.         if _obj != None:self._o = _obj;return
  5601.         self._o = None
  5602.  
  5603.     def __del__(self):
  5604.         if self._o != None:
  5605.             libxml2mod.xmlRelaxNGFreeParserCtxt(self._o)
  5606.         self._o = None
  5607.  
  5608.     #
  5609.     # relaxNgParserCtxt functions from module relaxng
  5610.     #
  5611.  
  5612.     def relaxNGParse(self):
  5613.         """parse a schema definition resource and build an internal
  5614.            XML Shema struture which can be used to validate instances. """
  5615.         ret = libxml2mod.xmlRelaxNGParse(self._o)
  5616.         if ret is None:raise parserError('xmlRelaxNGParse() failed')
  5617.         __tmp = relaxNgSchema(_obj=ret)
  5618.         return __tmp
  5619.  
  5620.     def relaxParserSetFlag(self, flags):
  5621.         """Semi private function used to pass informations to a parser
  5622.            context which are a combination of xmlRelaxNGParserFlag . """
  5623.         ret = libxml2mod.xmlRelaxParserSetFlag(self._o, flags)
  5624.         return ret
  5625.  
  5626. class xpathParserContext:
  5627.     def __init__(self, _obj=None):
  5628.         if _obj != None:self._o = _obj;return
  5629.         self._o = None
  5630.  
  5631.     # accessors for xpathParserContext
  5632.     def context(self):
  5633.         """Get the xpathContext from an xpathParserContext """
  5634.         ret = libxml2mod.xmlXPathParserGetContext(self._o)
  5635.         if ret is None:raise xpathError('xmlXPathParserGetContext() failed')
  5636.         __tmp = xpathContext(_obj=ret)
  5637.         return __tmp
  5638.  
  5639.     #
  5640.     # xpathParserContext functions from module xpathInternals
  5641.     #
  5642.  
  5643.     def xpathAddValues(self):
  5644.         """Implement the add operation on XPath objects: The numeric
  5645.            operators convert their operands to numbers as if by
  5646.            calling the number function. """
  5647.         libxml2mod.xmlXPathAddValues(self._o)
  5648.  
  5649.     def xpathBooleanFunction(self, nargs):
  5650.         """Implement the boolean() XPath function boolean
  5651.            boolean(object) The boolean function converts its argument
  5652.            to a boolean as follows: - a number is true if and only if
  5653.            it is neither positive or negative zero nor NaN - a
  5654.            node-set is true if and only if it is non-empty - a string
  5655.            is true if and only if its length is non-zero """
  5656.         libxml2mod.xmlXPathBooleanFunction(self._o, nargs)
  5657.  
  5658.     def xpathCeilingFunction(self, nargs):
  5659.         """Implement the ceiling() XPath function number
  5660.            ceiling(number) The ceiling function returns the smallest
  5661.            (closest to negative infinity) number that is not less
  5662.            than the argument and that is an integer. """
  5663.         libxml2mod.xmlXPathCeilingFunction(self._o, nargs)
  5664.  
  5665.     def xpathCompareValues(self, inf, strict):
  5666.         """Implement the compare operation on XPath objects: @arg1 <
  5667.            @arg2    (1, 1, ... @arg1 <= @arg2   (1, 0, ... @arg1 >
  5668.            @arg2    (0, 1, ... @arg1 >= @arg2   (0, 0, ...  When
  5669.            neither object to be compared is a node-set and the
  5670.            operator is <=, <, >=, >, then the objects are compared by
  5671.            converted both objects to numbers and comparing the
  5672.            numbers according to IEEE 754. The < comparison will be
  5673.            true if and only if the first number is less than the
  5674.            second number. The <= comparison will be true if and only
  5675.            if the first number is less than or equal to the second
  5676.            number. The > comparison will be true if and only if the
  5677.            first number is greater than the second number. The >=
  5678.            comparison will be true if and only if the first number is
  5679.            greater than or equal to the second number. """
  5680.         ret = libxml2mod.xmlXPathCompareValues(self._o, inf, strict)
  5681.         return ret
  5682.  
  5683.     def xpathConcatFunction(self, nargs):
  5684.         """Implement the concat() XPath function string concat(string,
  5685.            string, string*) The concat function returns the
  5686.            concatenation of its arguments. """
  5687.         libxml2mod.xmlXPathConcatFunction(self._o, nargs)
  5688.  
  5689.     def xpathContainsFunction(self, nargs):
  5690.         """Implement the contains() XPath function boolean
  5691.            contains(string, string) The contains function returns
  5692.            true if the first argument string contains the second
  5693.            argument string, and otherwise returns false. """
  5694.         libxml2mod.xmlXPathContainsFunction(self._o, nargs)
  5695.  
  5696.     def xpathCountFunction(self, nargs):
  5697.         """Implement the count() XPath function number count(node-set) """
  5698.         libxml2mod.xmlXPathCountFunction(self._o, nargs)
  5699.  
  5700.     def xpathDivValues(self):
  5701.         """Implement the div operation on XPath objects @arg1 / @arg2:
  5702.            The numeric operators convert their operands to numbers as
  5703.            if by calling the number function. """
  5704.         libxml2mod.xmlXPathDivValues(self._o)
  5705.  
  5706.     def xpathEqualValues(self):
  5707.         """Implement the equal operation on XPath objects content:
  5708.            @arg1 == @arg2 """
  5709.         ret = libxml2mod.xmlXPathEqualValues(self._o)
  5710.         return ret
  5711.  
  5712.     def xpathErr(self, error):
  5713.         """Handle an XPath error """
  5714.         libxml2mod.xmlXPathErr(self._o, error)
  5715.  
  5716.     def xpathEvalExpr(self):
  5717.         """Parse and evaluate an XPath expression in the given
  5718.            context, then push the result on the context stack """
  5719.         libxml2mod.xmlXPathEvalExpr(self._o)
  5720.  
  5721.     def xpathFalseFunction(self, nargs):
  5722.         """Implement the false() XPath function boolean false() """
  5723.         libxml2mod.xmlXPathFalseFunction(self._o, nargs)
  5724.  
  5725.     def xpathFloorFunction(self, nargs):
  5726.         """Implement the floor() XPath function number floor(number)
  5727.            The floor function returns the largest (closest to
  5728.            positive infinity) number that is not greater than the
  5729.            argument and that is an integer. """
  5730.         libxml2mod.xmlXPathFloorFunction(self._o, nargs)
  5731.  
  5732.     def xpathFreeParserContext(self):
  5733.         """Free up an xmlXPathParserContext """
  5734.         libxml2mod.xmlXPathFreeParserContext(self._o)
  5735.  
  5736.     def xpathIdFunction(self, nargs):
  5737.         """Implement the id() XPath function node-set id(object) The
  5738.            id function selects elements by their unique ID (see
  5739.            [5.2.1 Unique IDs]). When the argument to id is of type
  5740.            node-set, then the result is the union of the result of
  5741.            applying id to the string value of each of the nodes in
  5742.            the argument node-set. When the argument to id is of any
  5743.            other type, the argument is converted to a string as if by
  5744.            a call to the string function; the string is split into a
  5745.            whitespace-separated list of tokens (whitespace is any
  5746.            sequence of characters matching the production S); the
  5747.            result is a node-set containing the elements in the same
  5748.            document as the context node that have a unique ID equal
  5749.            to any of the tokens in the list. """
  5750.         libxml2mod.xmlXPathIdFunction(self._o, nargs)
  5751.  
  5752.     def xpathLangFunction(self, nargs):
  5753.         """Implement the lang() XPath function boolean lang(string)
  5754.            The lang function returns true or false depending on
  5755.            whether the language of the context node as specified by
  5756.            xml:lang attributes is the same as or is a sublanguage of
  5757.            the language specified by the argument string. The
  5758.            language of the context node is determined by the value of
  5759.            the xml:lang attribute on the context node, or, if the
  5760.            context node has no xml:lang attribute, by the value of
  5761.            the xml:lang attribute on the nearest ancestor of the
  5762.            context node that has an xml:lang attribute. If there is
  5763.            no such attribute, then lang """
  5764.         libxml2mod.xmlXPathLangFunction(self._o, nargs)
  5765.  
  5766.     def xpathLastFunction(self, nargs):
  5767.         """Implement the last() XPath function number last() The last
  5768.            function returns the number of nodes in the context node
  5769.            list. """
  5770.         libxml2mod.xmlXPathLastFunction(self._o, nargs)
  5771.  
  5772.     def xpathLocalNameFunction(self, nargs):
  5773.         """Implement the local-name() XPath function string
  5774.            local-name(node-set?) The local-name function returns a
  5775.            string containing the local part of the name of the node
  5776.            in the argument node-set that is first in document order.
  5777.            If the node-set is empty or the first node has no name, an
  5778.            empty string is returned. If the argument is omitted it
  5779.            defaults to the context node. """
  5780.         libxml2mod.xmlXPathLocalNameFunction(self._o, nargs)
  5781.  
  5782.     def xpathModValues(self):
  5783.         """Implement the mod operation on XPath objects: @arg1 / @arg2
  5784.            The numeric operators convert their operands to numbers as
  5785.            if by calling the number function. """
  5786.         libxml2mod.xmlXPathModValues(self._o)
  5787.  
  5788.     def xpathMultValues(self):
  5789.         """Implement the multiply operation on XPath objects: The
  5790.            numeric operators convert their operands to numbers as if
  5791.            by calling the number function. """
  5792.         libxml2mod.xmlXPathMultValues(self._o)
  5793.  
  5794.     def xpathNamespaceURIFunction(self, nargs):
  5795.         """Implement the namespace-uri() XPath function string
  5796.            namespace-uri(node-set?) The namespace-uri function
  5797.            returns a string containing the namespace URI of the
  5798.            expanded name of the node in the argument node-set that is
  5799.            first in document order. If the node-set is empty, the
  5800.            first node has no name, or the expanded name has no
  5801.            namespace URI, an empty string is returned. If the
  5802.            argument is omitted it defaults to the context node. """
  5803.         libxml2mod.xmlXPathNamespaceURIFunction(self._o, nargs)
  5804.  
  5805.     def xpathNextAncestor(self, cur):
  5806.         """Traversal function for the "ancestor" direction the
  5807.            ancestor axis contains the ancestors of the context node;
  5808.            the ancestors of the context node consist of the parent of
  5809.            context node and the parent's parent and so on; the nodes
  5810.            are ordered in reverse document order; thus the parent is
  5811.            the first node on the axis, and the parent's parent is the
  5812.            second node on the axis """
  5813.         if cur is None: cur__o = None
  5814.         else: cur__o = cur._o
  5815.         ret = libxml2mod.xmlXPathNextAncestor(self._o, cur__o)
  5816.         if ret is None:raise xpathError('xmlXPathNextAncestor() failed')
  5817.         __tmp = xmlNode(_obj=ret)
  5818.         return __tmp
  5819.  
  5820.     def xpathNextAncestorOrSelf(self, cur):
  5821.         """Traversal function for the "ancestor-or-self" direction he
  5822.            ancestor-or-self axis contains the context node and
  5823.            ancestors of the context node in reverse document order;
  5824.            thus the context node is the first node on the axis, and
  5825.            the context node's parent the second; parent here is
  5826.            defined the same as with the parent axis. """
  5827.         if cur is None: cur__o = None
  5828.         else: cur__o = cur._o
  5829.         ret = libxml2mod.xmlXPathNextAncestorOrSelf(self._o, cur__o)
  5830.         if ret is None:raise xpathError('xmlXPathNextAncestorOrSelf() failed')
  5831.         __tmp = xmlNode(_obj=ret)
  5832.         return __tmp
  5833.  
  5834.     def xpathNextAttribute(self, cur):
  5835.         """Traversal function for the "attribute" direction TODO:
  5836.            support DTD inherited default attributes """
  5837.         if cur is None: cur__o = None
  5838.         else: cur__o = cur._o
  5839.         ret = libxml2mod.xmlXPathNextAttribute(self._o, cur__o)
  5840.         if ret is None:raise xpathError('xmlXPathNextAttribute() failed')
  5841.         __tmp = xmlNode(_obj=ret)
  5842.         return __tmp
  5843.  
  5844.     def xpathNextChild(self, cur):
  5845.         """Traversal function for the "child" direction The child axis
  5846.            contains the children of the context node in document
  5847.            order. """
  5848.         if cur is None: cur__o = None
  5849.         else: cur__o = cur._o
  5850.         ret = libxml2mod.xmlXPathNextChild(self._o, cur__o)
  5851.         if ret is None:raise xpathError('xmlXPathNextChild() failed')
  5852.         __tmp = xmlNode(_obj=ret)
  5853.         return __tmp
  5854.  
  5855.     def xpathNextDescendant(self, cur):
  5856.         """Traversal function for the "descendant" direction the
  5857.            descendant axis contains the descendants of the context
  5858.            node in document order; a descendant is a child or a child
  5859.            of a child and so on. """
  5860.         if cur is None: cur__o = None
  5861.         else: cur__o = cur._o
  5862.         ret = libxml2mod.xmlXPathNextDescendant(self._o, cur__o)
  5863.         if ret is None:raise xpathError('xmlXPathNextDescendant() failed')
  5864.         __tmp = xmlNode(_obj=ret)
  5865.         return __tmp
  5866.  
  5867.     def xpathNextDescendantOrSelf(self, cur):
  5868.         """Traversal function for the "descendant-or-self" direction
  5869.            the descendant-or-self axis contains the context node and
  5870.            the descendants of the context node in document order;
  5871.            thus the context node is the first node on the axis, and
  5872.            the first child of the context node is the second node on
  5873.            the axis """
  5874.         if cur is None: cur__o = None
  5875.         else: cur__o = cur._o
  5876.         ret = libxml2mod.xmlXPathNextDescendantOrSelf(self._o, cur__o)
  5877.         if ret is None:raise xpathError('xmlXPathNextDescendantOrSelf() failed')
  5878.         __tmp = xmlNode(_obj=ret)
  5879.         return __tmp
  5880.  
  5881.     def xpathNextFollowing(self, cur):
  5882.         """Traversal function for the "following" direction The
  5883.            following axis contains all nodes in the same document as
  5884.            the context node that are after the context node in
  5885.            document order, excluding any descendants and excluding
  5886.            attribute nodes and namespace nodes; the nodes are ordered
  5887.            in document order """
  5888.         if cur is None: cur__o = None
  5889.         else: cur__o = cur._o
  5890.         ret = libxml2mod.xmlXPathNextFollowing(self._o, cur__o)
  5891.         if ret is None:raise xpathError('xmlXPathNextFollowing() failed')
  5892.         __tmp = xmlNode(_obj=ret)
  5893.         return __tmp
  5894.  
  5895.     def xpathNextFollowingSibling(self, cur):
  5896.         """Traversal function for the "following-sibling" direction
  5897.            The following-sibling axis contains the following siblings
  5898.            of the context node in document order. """
  5899.         if cur is None: cur__o = None
  5900.         else: cur__o = cur._o
  5901.         ret = libxml2mod.xmlXPathNextFollowingSibling(self._o, cur__o)
  5902.         if ret is None:raise xpathError('xmlXPathNextFollowingSibling() failed')
  5903.         __tmp = xmlNode(_obj=ret)
  5904.         return __tmp
  5905.  
  5906.     def xpathNextNamespace(self, cur):
  5907.         """Traversal function for the "namespace" direction the
  5908.            namespace axis contains the namespace nodes of the context
  5909.            node; the order of nodes on this axis is
  5910.            implementation-defined; the axis will be empty unless the
  5911.            context node is an element  We keep the XML namespace node
  5912.            at the end of the list. """
  5913.         if cur is None: cur__o = None
  5914.         else: cur__o = cur._o
  5915.         ret = libxml2mod.xmlXPathNextNamespace(self._o, cur__o)
  5916.         if ret is None:raise xpathError('xmlXPathNextNamespace() failed')
  5917.         __tmp = xmlNode(_obj=ret)
  5918.         return __tmp
  5919.  
  5920.     def xpathNextParent(self, cur):
  5921.         """Traversal function for the "parent" direction The parent
  5922.            axis contains the parent of the context node, if there is
  5923.            one. """
  5924.         if cur is None: cur__o = None
  5925.         else: cur__o = cur._o
  5926.         ret = libxml2mod.xmlXPathNextParent(self._o, cur__o)
  5927.         if ret is None:raise xpathError('xmlXPathNextParent() failed')
  5928.         __tmp = xmlNode(_obj=ret)
  5929.         return __tmp
  5930.  
  5931.     def xpathNextPreceding(self, cur):
  5932.         """Traversal function for the "preceding" direction the
  5933.            preceding axis contains all nodes in the same document as
  5934.            the context node that are before the context node in
  5935.            document order, excluding any ancestors and excluding
  5936.            attribute nodes and namespace nodes; the nodes are ordered
  5937.            in reverse document order """
  5938.         if cur is None: cur__o = None
  5939.         else: cur__o = cur._o
  5940.         ret = libxml2mod.xmlXPathNextPreceding(self._o, cur__o)
  5941.         if ret is None:raise xpathError('xmlXPathNextPreceding() failed')
  5942.         __tmp = xmlNode(_obj=ret)
  5943.         return __tmp
  5944.  
  5945.     def xpathNextPrecedingSibling(self, cur):
  5946.         """Traversal function for the "preceding-sibling" direction
  5947.            The preceding-sibling axis contains the preceding siblings
  5948.            of the context node in reverse document order; the first
  5949.            preceding sibling is first on the axis; the sibling
  5950.            preceding that node is the second on the axis and so on. """
  5951.         if cur is None: cur__o = None
  5952.         else: cur__o = cur._o
  5953.         ret = libxml2mod.xmlXPathNextPrecedingSibling(self._o, cur__o)
  5954.         if ret is None:raise xpathError('xmlXPathNextPrecedingSibling() failed')
  5955.         __tmp = xmlNode(_obj=ret)
  5956.         return __tmp
  5957.  
  5958.     def xpathNextSelf(self, cur):
  5959.         """Traversal function for the "self" direction The self axis
  5960.            contains just the context node itself """
  5961.         if cur is None: cur__o = None
  5962.         else: cur__o = cur._o
  5963.         ret = libxml2mod.xmlXPathNextSelf(self._o, cur__o)
  5964.         if ret is None:raise xpathError('xmlXPathNextSelf() failed')
  5965.         __tmp = xmlNode(_obj=ret)
  5966.         return __tmp
  5967.  
  5968.     def xpathNormalizeFunction(self, nargs):
  5969.         """Implement the normalize-space() XPath function string
  5970.            normalize-space(string?) The normalize-space function
  5971.            returns the argument string with white space normalized by
  5972.            stripping leading and trailing whitespace and replacing
  5973.            sequences of whitespace characters by a single space.
  5974.            Whitespace characters are the same allowed by the S
  5975.            production in XML. If the argument is omitted, it defaults
  5976.            to the context node converted to a string, in other words
  5977.            the value of the context node. """
  5978.         libxml2mod.xmlXPathNormalizeFunction(self._o, nargs)
  5979.  
  5980.     def xpathNotEqualValues(self):
  5981.         """Implement the equal operation on XPath objects content:
  5982.            @arg1 == @arg2 """
  5983.         ret = libxml2mod.xmlXPathNotEqualValues(self._o)
  5984.         return ret
  5985.  
  5986.     def xpathNotFunction(self, nargs):
  5987.         """Implement the not() XPath function boolean not(boolean) The
  5988.            not function returns true if its argument is false, and
  5989.            false otherwise. """
  5990.         libxml2mod.xmlXPathNotFunction(self._o, nargs)
  5991.  
  5992.     def xpathNumberFunction(self, nargs):
  5993.         """Implement the number() XPath function number number(object?) """
  5994.         libxml2mod.xmlXPathNumberFunction(self._o, nargs)
  5995.  
  5996.     def xpathParseNCName(self):
  5997.         """parse an XML namespace non qualified name.  [NS 3] NCName
  5998.            ::= (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::=
  5999.            Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender """
  6000.         ret = libxml2mod.xmlXPathParseNCName(self._o)
  6001.         return ret
  6002.  
  6003.     def xpathParseName(self):
  6004.         """parse an XML name  [4] NameChar ::= Letter | Digit | '.' |
  6005.            '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
  6006.            (Letter | '_' | ':') (NameChar)* """
  6007.         ret = libxml2mod.xmlXPathParseName(self._o)
  6008.         return ret
  6009.  
  6010.     def xpathPopBoolean(self):
  6011.         """Pops a boolean from the stack, handling conversion if
  6012.            needed. Check error with #xmlXPathCheckError. """
  6013.         ret = libxml2mod.xmlXPathPopBoolean(self._o)
  6014.         return ret
  6015.  
  6016.     def xpathPopNumber(self):
  6017.         """Pops a number from the stack, handling conversion if
  6018.            needed. Check error with #xmlXPathCheckError. """
  6019.         ret = libxml2mod.xmlXPathPopNumber(self._o)
  6020.         return ret
  6021.  
  6022.     def xpathPopString(self):
  6023.         """Pops a string from the stack, handling conversion if
  6024.            needed. Check error with #xmlXPathCheckError. """
  6025.         ret = libxml2mod.xmlXPathPopString(self._o)
  6026.         return ret
  6027.  
  6028.     def xpathPositionFunction(self, nargs):
  6029.         """Implement the position() XPath function number position()
  6030.            The position function returns the position of the context
  6031.            node in the context node list. The first position is 1,
  6032.            and so the last position will be equal to last(). """
  6033.         libxml2mod.xmlXPathPositionFunction(self._o, nargs)
  6034.  
  6035.     def xpathRoot(self):
  6036.         """Initialize the context to the root of the document """
  6037.         libxml2mod.xmlXPathRoot(self._o)
  6038.  
  6039.     def xpathRoundFunction(self, nargs):
  6040.         """Implement the round() XPath function number round(number)
  6041.            The round function returns the number that is closest to
  6042.            the argument and that is an integer. If there are two such
  6043.            numbers, then the one that is even is returned. """
  6044.         libxml2mod.xmlXPathRoundFunction(self._o, nargs)
  6045.  
  6046.     def xpathStartsWithFunction(self, nargs):
  6047.         """Implement the starts-with() XPath function boolean
  6048.            starts-with(string, string) The starts-with function
  6049.            returns true if the first argument string starts with the
  6050.            second argument string, and otherwise returns false. """
  6051.         libxml2mod.xmlXPathStartsWithFunction(self._o, nargs)
  6052.  
  6053.     def xpathStringFunction(self, nargs):
  6054.         """Implement the string() XPath function string
  6055.            string(object?) The string function converts an object to
  6056.            a string as follows: - A node-set is converted to a string
  6057.            by returning the value of the node in the node-set that is
  6058.            first in document order. If the node-set is empty, an
  6059.            empty string is returned. - A number is converted to a
  6060.            string as follows + NaN is converted to the string NaN +
  6061.            positive zero is converted to the string 0 + negative zero
  6062.            is converted to the string 0 + positive infinity is
  6063.            converted to the string Infinity + negative infinity is
  6064.            converted to the string -Infinity + if the number is an
  6065.            integer, the number is represented in decimal form as a
  6066.            Number with no decimal point and no leading zeros,
  6067.            preceded by a minus sign (-) if the number is negative +
  6068.            otherwise, the number is represented in decimal form as a
  6069.            Number including a decimal point with at least one digit
  6070.            before the decimal point and at least one digit after the
  6071.            decimal point, preceded by a minus sign (-) if the number
  6072.            is negative; there must be no leading zeros before the
  6073.            decimal point apart possibly from the one required digit
  6074.            immediately before the decimal point; beyond the one
  6075.            required digit after the decimal point there must be as
  6076.            many, but only as many, more digits as are needed to
  6077.            uniquely distinguish the number from all other IEEE 754
  6078.            numeric values. - The boolean false value is converted to
  6079.            the string false. The boolean true value is converted to
  6080.            the string true.  If the argument is omitted, it defaults
  6081.            to a node-set with the context node as its only member. """
  6082.         libxml2mod.xmlXPathStringFunction(self._o, nargs)
  6083.  
  6084.     def xpathStringLengthFunction(self, nargs):
  6085.         """Implement the string-length() XPath function number
  6086.            string-length(string?) The string-length returns the
  6087.            number of characters in the string (see [3.6 Strings]). If
  6088.            the argument is omitted, it defaults to the context node
  6089.            converted to a string, in other words the value of the
  6090.            context node. """
  6091.         libxml2mod.xmlXPathStringLengthFunction(self._o, nargs)
  6092.  
  6093.     def xpathSubValues(self):
  6094.         """Implement the subtraction operation on XPath objects: The
  6095.            numeric operators convert their operands to numbers as if
  6096.            by calling the number function. """
  6097.         libxml2mod.xmlXPathSubValues(self._o)
  6098.  
  6099.     def xpathSubstringAfterFunction(self, nargs):
  6100.         """Implement the substring-after() XPath function string
  6101.            substring-after(string, string) The substring-after
  6102.            function returns the substring of the first argument
  6103.            string that follows the first occurrence of the second
  6104.            argument string in the first argument string, or the empty
  6105.            stringi if the first argument string does not contain the
  6106.            second argument string. For example,
  6107.            substring-after("1999/04/01","/") returns 04/01, and
  6108.            substring-after("1999/04/01","19") returns 99/04/01. """
  6109.         libxml2mod.xmlXPathSubstringAfterFunction(self._o, nargs)
  6110.  
  6111.     def xpathSubstringBeforeFunction(self, nargs):
  6112.         """Implement the substring-before() XPath function string
  6113.            substring-before(string, string) The substring-before
  6114.            function returns the substring of the first argument
  6115.            string that precedes the first occurrence of the second
  6116.            argument string in the first argument string, or the empty
  6117.            string if the first argument string does not contain the
  6118.            second argument string. For example,
  6119.            substring-before("1999/04/01","/") returns 1999. """
  6120.         libxml2mod.xmlXPathSubstringBeforeFunction(self._o, nargs)
  6121.  
  6122.     def xpathSubstringFunction(self, nargs):
  6123.         """Implement the substring() XPath function string
  6124.            substring(string, number, number?) The substring function
  6125.            returns the substring of the first argument starting at
  6126.            the position specified in the second argument with length
  6127.            specified in the third argument. For example,
  6128.            substring("12345",2,3) returns "234". If the third
  6129.            argument is not specified, it returns the substring
  6130.            starting at the position specified in the second argument
  6131.            and continuing to the end of the string. For example,
  6132.            substring("12345",2) returns "2345".  More precisely, each
  6133.            character in the string (see [3.6 Strings]) is considered
  6134.            to have a numeric position: the position of the first
  6135.            character is 1, the position of the second character is 2
  6136.            and so on. The returned substring contains those
  6137.            characters for which the position of the character is
  6138.            greater than or equal to the second argument and, if the
  6139.            third argument is specified, less than the sum of the
  6140.            second and third arguments; the comparisons and addition
  6141.            used for the above follow the standard IEEE 754 rules.
  6142.            Thus: - substring("12345", 1.5, 2.6) returns "234" -
  6143.            substring("12345", 0, 3) returns "12" - substring("12345",
  6144.            0 div 0, 3) returns "" - substring("12345", 1, 0 div 0)
  6145.            returns "" - substring("12345", -42, 1 div 0) returns
  6146.            "12345" - substring("12345", -1 div 0, 1 div 0) returns "" """
  6147.         libxml2mod.xmlXPathSubstringFunction(self._o, nargs)
  6148.  
  6149.     def xpathSumFunction(self, nargs):
  6150.         """Implement the sum() XPath function number sum(node-set) The
  6151.            sum function returns the sum of the values of the nodes in
  6152.            the argument node-set. """
  6153.         libxml2mod.xmlXPathSumFunction(self._o, nargs)
  6154.  
  6155.     def xpathTranslateFunction(self, nargs):
  6156.         """Implement the translate() XPath function string
  6157.            translate(string, string, string) The translate function
  6158.            returns the first argument string with occurrences of
  6159.            characters in the second argument string replaced by the
  6160.            character at the corresponding position in the third
  6161.            argument string. For example, translate("bar","abc","ABC")
  6162.            returns the string BAr. If there is a character in the
  6163.            second argument string with no character at a
  6164.            corresponding position in the third argument string
  6165.            (because the second argument string is longer than the
  6166.            third argument string), then occurrences of that character
  6167.            in the first argument string are removed. For example,
  6168.            translate("--aaa--","abc-","ABC") """
  6169.         libxml2mod.xmlXPathTranslateFunction(self._o, nargs)
  6170.  
  6171.     def xpathTrueFunction(self, nargs):
  6172.         """Implement the true() XPath function boolean true() """
  6173.         libxml2mod.xmlXPathTrueFunction(self._o, nargs)
  6174.  
  6175.     def xpathValueFlipSign(self):
  6176.         """Implement the unary - operation on an XPath object The
  6177.            numeric operators convert their operands to numbers as if
  6178.            by calling the number function. """
  6179.         libxml2mod.xmlXPathValueFlipSign(self._o)
  6180.  
  6181.     def xpatherror(self, file, line, no):
  6182.         """Formats an error message. """
  6183.         libxml2mod.xmlXPatherror(self._o, file, line, no)
  6184.  
  6185.     #
  6186.     # xpathParserContext functions from module xpointer
  6187.     #
  6188.  
  6189.     def xpointerEvalRangePredicate(self):
  6190.         """[8]   Predicate ::=   '[' PredicateExpr ']' [9]  
  6191.            PredicateExpr ::=   Expr  Evaluate a predicate as in
  6192.            xmlXPathEvalPredicate() but for a Location Set instead of
  6193.            a node set """
  6194.         libxml2mod.xmlXPtrEvalRangePredicate(self._o)
  6195.  
  6196.     def xpointerRangeToFunction(self, nargs):
  6197.         """Implement the range-to() XPointer function """
  6198.         libxml2mod.xmlXPtrRangeToFunction(self._o, nargs)
  6199.  
  6200. class SchemaParserCtxt:
  6201.     def __init__(self, _obj=None):
  6202.         if _obj != None:self._o = _obj;return
  6203.         self._o = None
  6204.  
  6205.     def __del__(self):
  6206.         if self._o != None:
  6207.             libxml2mod.xmlSchemaFreeParserCtxt(self._o)
  6208.         self._o = None
  6209.  
  6210.     #
  6211.     # SchemaParserCtxt functions from module xmlschemas
  6212.     #
  6213.  
  6214.     def schemaParse(self):
  6215.         """parse a schema definition resource and build an internal
  6216.            XML Shema struture which can be used to validate instances. """
  6217.         ret = libxml2mod.xmlSchemaParse(self._o)
  6218.         if ret is None:raise parserError('xmlSchemaParse() failed')
  6219.         __tmp = Schema(_obj=ret)
  6220.         return __tmp
  6221.  
  6222. class ValidCtxt(ValidCtxtCore):
  6223.     def __init__(self, _obj=None):
  6224.         self._o = _obj
  6225.         ValidCtxtCore.__init__(self, _obj=_obj)
  6226.  
  6227.     def __del__(self):
  6228.         if self._o != None:
  6229.             libxml2mod.xmlFreeValidCtxt(self._o)
  6230.         self._o = None
  6231.  
  6232.     #
  6233.     # ValidCtxt functions from module valid
  6234.     #
  6235.  
  6236.     def validCtxtNormalizeAttributeValue(self, doc, elem, name, value):
  6237.         """Does the validation related extra step of the normalization
  6238.            of attribute values:  If the declared value is not CDATA,
  6239.            then the XML processor must further process the normalized
  6240.            attribute value by discarding any leading and trailing
  6241.            space (#x20) characters, and by replacing sequences of
  6242.            space (#x20) characters by single space (#x20) character. 
  6243.            Also  check VC: Standalone Document Declaration in P32,
  6244.            and update ctxt->valid accordingly """
  6245.         if doc is None: doc__o = None
  6246.         else: doc__o = doc._o
  6247.         if elem is None: elem__o = None
  6248.         else: elem__o = elem._o
  6249.         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(self._o, doc__o, elem__o, name, value)
  6250.         return ret
  6251.  
  6252.     def validateDocument(self, doc):
  6253.         """Try to validate the document instance  basically it does
  6254.            the all the checks described by the XML Rec i.e. validates
  6255.            the internal and external subset (if present) and validate
  6256.            the document tree. """
  6257.         if doc is None: doc__o = None
  6258.         else: doc__o = doc._o
  6259.         ret = libxml2mod.xmlValidateDocument(self._o, doc__o)
  6260.         return ret
  6261.  
  6262.     def validateDocumentFinal(self, doc):
  6263.         """Does the final step for the document validation once all
  6264.            the incremental validation steps have been completed 
  6265.            basically it does the following checks described by the
  6266.            XML Rec  Check all the IDREF/IDREFS attributes definition
  6267.            for validity """
  6268.         if doc is None: doc__o = None
  6269.         else: doc__o = doc._o
  6270.         ret = libxml2mod.xmlValidateDocumentFinal(self._o, doc__o)
  6271.         return ret
  6272.  
  6273.     def validateDtd(self, doc, dtd):
  6274.         """Try to validate the document against the dtd instance 
  6275.            Basically it does check all the definitions in the DtD.
  6276.            Note the the internal subset (if present) is de-coupled
  6277.            (i.e. not used), which could give problems if ID or IDREF
  6278.            is present. """
  6279.         if doc is None: doc__o = None
  6280.         else: doc__o = doc._o
  6281.         if dtd is None: dtd__o = None
  6282.         else: dtd__o = dtd._o
  6283.         ret = libxml2mod.xmlValidateDtd(self._o, doc__o, dtd__o)
  6284.         return ret
  6285.  
  6286.     def validateDtdFinal(self, doc):
  6287.         """Does the final step for the dtds validation once all the
  6288.            subsets have been parsed  basically it does the following
  6289.            checks described by the XML Rec - check that ENTITY and
  6290.            ENTITIES type attributes default or possible values
  6291.            matches one of the defined entities. - check that NOTATION
  6292.            type attributes default or possible values matches one of
  6293.            the defined notations. """
  6294.         if doc is None: doc__o = None
  6295.         else: doc__o = doc._o
  6296.         ret = libxml2mod.xmlValidateDtdFinal(self._o, doc__o)
  6297.         return ret
  6298.  
  6299.     def validateElement(self, doc, elem):
  6300.         """Try to validate the subtree under an element """
  6301.         if doc is None: doc__o = None
  6302.         else: doc__o = doc._o
  6303.         if elem is None: elem__o = None
  6304.         else: elem__o = elem._o
  6305.         ret = libxml2mod.xmlValidateElement(self._o, doc__o, elem__o)
  6306.         return ret
  6307.  
  6308.     def validateNotationUse(self, doc, notationName):
  6309.         """Validate that the given name match a notation declaration.
  6310.            - [ VC: Notation Declared ] """
  6311.         if doc is None: doc__o = None
  6312.         else: doc__o = doc._o
  6313.         ret = libxml2mod.xmlValidateNotationUse(self._o, doc__o, notationName)
  6314.         return ret
  6315.  
  6316.     def validateOneAttribute(self, doc, elem, attr, value):
  6317.         """Try to validate a single attribute for an element basically
  6318.            it does the following checks as described by the XML-1.0
  6319.            recommendation: - [ VC: Attribute Value Type ] - [ VC:
  6320.            Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
  6321.            Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
  6322.            Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  6323.            uniqueness and matching are done separately """
  6324.         if doc is None: doc__o = None
  6325.         else: doc__o = doc._o
  6326.         if elem is None: elem__o = None
  6327.         else: elem__o = elem._o
  6328.         if attr is None: attr__o = None
  6329.         else: attr__o = attr._o
  6330.         ret = libxml2mod.xmlValidateOneAttribute(self._o, doc__o, elem__o, attr__o, value)
  6331.         return ret
  6332.  
  6333.     def validateOneElement(self, doc, elem):
  6334.         """Try to validate a single element and it's attributes,
  6335.            basically it does the following checks as described by the
  6336.            XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
  6337.            Required Attribute ] Then call xmlValidateOneAttribute()
  6338.            for each attribute present.  The ID/IDREF checkings are
  6339.            done separately """
  6340.         if doc is None: doc__o = None
  6341.         else: doc__o = doc._o
  6342.         if elem is None: elem__o = None
  6343.         else: elem__o = elem._o
  6344.         ret = libxml2mod.xmlValidateOneElement(self._o, doc__o, elem__o)
  6345.         return ret
  6346.  
  6347.     def validateOneNamespace(self, doc, elem, prefix, ns, value):
  6348.         """Try to validate a single namespace declaration for an
  6349.            element basically it does the following checks as
  6350.            described by the XML-1.0 recommendation: - [ VC: Attribute
  6351.            Value Type ] - [ VC: Fixed Attribute Default ] - [ VC:
  6352.            Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC:
  6353.            IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes
  6354.            ]  The ID/IDREF uniqueness and matching are done separately """
  6355.         if doc is None: doc__o = None
  6356.         else: doc__o = doc._o
  6357.         if elem is None: elem__o = None
  6358.         else: elem__o = elem._o
  6359.         if ns is None: ns__o = None
  6360.         else: ns__o = ns._o
  6361.         ret = libxml2mod.xmlValidateOneNamespace(self._o, doc__o, elem__o, prefix, ns__o, value)
  6362.         return ret
  6363.  
  6364.     def validatePopElement(self, doc, elem, qname):
  6365.         """Pop the element end from the validation stack. """
  6366.         if doc is None: doc__o = None
  6367.         else: doc__o = doc._o
  6368.         if elem is None: elem__o = None
  6369.         else: elem__o = elem._o
  6370.         ret = libxml2mod.xmlValidatePopElement(self._o, doc__o, elem__o, qname)
  6371.         return ret
  6372.  
  6373.     def validatePushCData(self, data, len):
  6374.         """check the CData parsed for validation in the current stack """
  6375.         ret = libxml2mod.xmlValidatePushCData(self._o, data, len)
  6376.         return ret
  6377.  
  6378.     def validatePushElement(self, doc, elem, qname):
  6379.         """Push a new element start on the validation stack. """
  6380.         if doc is None: doc__o = None
  6381.         else: doc__o = doc._o
  6382.         if elem is None: elem__o = None
  6383.         else: elem__o = elem._o
  6384.         ret = libxml2mod.xmlValidatePushElement(self._o, doc__o, elem__o, qname)
  6385.         return ret
  6386.  
  6387.     def validateRoot(self, doc):
  6388.         """Try to validate a the root element basically it does the
  6389.            following check as described by the XML-1.0
  6390.            recommendation: - [ VC: Root Element Type ] it doesn't try
  6391.            to recurse or apply other check to the element """
  6392.         if doc is None: doc__o = None
  6393.         else: doc__o = doc._o
  6394.         ret = libxml2mod.xmlValidateRoot(self._o, doc__o)
  6395.         return ret
  6396.  
  6397. class xmlNs(xmlNode):
  6398.     def __init__(self, _obj=None):
  6399.         if type(_obj).__name__ != 'PyCObject':
  6400.             raise TypeError, 'xmlNs needs a PyCObject argument'
  6401.         self._o = _obj
  6402.         xmlNode.__init__(self, _obj=_obj)
  6403.  
  6404.     def __repr__(self):
  6405.         return "<xmlNs (%s) object at 0x%x>" % (self.name, long(id (self)))
  6406.  
  6407.     #
  6408.     # xmlNs functions from module tree
  6409.     #
  6410.  
  6411.     def copyNamespace(self):
  6412.         """Do a copy of the namespace. """
  6413.         ret = libxml2mod.xmlCopyNamespace(self._o)
  6414.         if ret is None:raise treeError('xmlCopyNamespace() failed')
  6415.         __tmp = xmlNs(_obj=ret)
  6416.         return __tmp
  6417.  
  6418.     def copyNamespaceList(self):
  6419.         """Do a copy of an namespace list. """
  6420.         ret = libxml2mod.xmlCopyNamespaceList(self._o)
  6421.         if ret is None:raise treeError('xmlCopyNamespaceList() failed')
  6422.         __tmp = xmlNs(_obj=ret)
  6423.         return __tmp
  6424.  
  6425.     def freeNs(self):
  6426.         """Free up the structures associated to a namespace """
  6427.         libxml2mod.xmlFreeNs(self._o)
  6428.  
  6429.     def freeNsList(self):
  6430.         """Free up all the structures associated to the chained
  6431.            namespaces. """
  6432.         libxml2mod.xmlFreeNsList(self._o)
  6433.  
  6434.     def newChild(self, parent, name, content):
  6435.         """Creation of a new child element, added at the end of
  6436.            @parent children list. @ns and @content parameters are
  6437.            optional (None). If @ns is None, the newly created element
  6438.            inherits the namespace of @parent. If @content is non
  6439.            None, a child list containing the TEXTs and ENTITY_REFs
  6440.            node will be created. NOTE: @content is supposed to be a
  6441.            piece of XML CDATA, so it allows entity references. XML
  6442.            special chars must be escaped first by using
  6443.            xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
  6444.            be used. """
  6445.         if parent is None: parent__o = None
  6446.         else: parent__o = parent._o
  6447.         ret = libxml2mod.xmlNewChild(parent__o, self._o, name, content)
  6448.         if ret is None:raise treeError('xmlNewChild() failed')
  6449.         __tmp = xmlNode(_obj=ret)
  6450.         return __tmp
  6451.  
  6452.     def newDocNode(self, doc, name, content):
  6453.         """Creation of a new node element within a document. @ns and
  6454.            @content are optional (None). NOTE: @content is supposed
  6455.            to be a piece of XML CDATA, so it allow entities
  6456.            references, but XML special chars need to be escaped first
  6457.            by using xmlEncodeEntitiesReentrant(). Use
  6458.            xmlNewDocRawNode() if you don't need entities support. """
  6459.         if doc is None: doc__o = None
  6460.         else: doc__o = doc._o
  6461.         ret = libxml2mod.xmlNewDocNode(doc__o, self._o, name, content)
  6462.         if ret is None:raise treeError('xmlNewDocNode() failed')
  6463.         __tmp = xmlNode(_obj=ret)
  6464.         return __tmp
  6465.  
  6466.     def newDocNodeEatName(self, doc, name, content):
  6467.         """Creation of a new node element within a document. @ns and
  6468.            @content are optional (None). NOTE: @content is supposed
  6469.            to be a piece of XML CDATA, so it allow entities
  6470.            references, but XML special chars need to be escaped first
  6471.            by using xmlEncodeEntitiesReentrant(). Use
  6472.            xmlNewDocRawNode() if you don't need entities support. """
  6473.         if doc is None: doc__o = None
  6474.         else: doc__o = doc._o
  6475.         ret = libxml2mod.xmlNewDocNodeEatName(doc__o, self._o, name, content)
  6476.         if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
  6477.         __tmp = xmlNode(_obj=ret)
  6478.         return __tmp
  6479.  
  6480.     def newDocRawNode(self, doc, name, content):
  6481.         """Creation of a new node element within a document. @ns and
  6482.            @content are optional (None). """
  6483.         if doc is None: doc__o = None
  6484.         else: doc__o = doc._o
  6485.         ret = libxml2mod.xmlNewDocRawNode(doc__o, self._o, name, content)
  6486.         if ret is None:raise treeError('xmlNewDocRawNode() failed')
  6487.         __tmp = xmlNode(_obj=ret)
  6488.         return __tmp
  6489.  
  6490.     def newNodeEatName(self, name):
  6491.         """Creation of a new node element. @ns is optional (None). """
  6492.         ret = libxml2mod.xmlNewNodeEatName(self._o, name)
  6493.         if ret is None:raise treeError('xmlNewNodeEatName() failed')
  6494.         __tmp = xmlNode(_obj=ret)
  6495.         return __tmp
  6496.  
  6497.     def newNsProp(self, node, name, value):
  6498.         """Create a new property tagged with a namespace and carried
  6499.            by a node. """
  6500.         if node is None: node__o = None
  6501.         else: node__o = node._o
  6502.         ret = libxml2mod.xmlNewNsProp(node__o, self._o, name, value)
  6503.         if ret is None:raise treeError('xmlNewNsProp() failed')
  6504.         __tmp = xmlAttr(_obj=ret)
  6505.         return __tmp
  6506.  
  6507.     def newNsPropEatName(self, node, name, value):
  6508.         """Create a new property tagged with a namespace and carried
  6509.            by a node. """
  6510.         if node is None: node__o = None
  6511.         else: node__o = node._o
  6512.         ret = libxml2mod.xmlNewNsPropEatName(node__o, self._o, name, value)
  6513.         if ret is None:raise treeError('xmlNewNsPropEatName() failed')
  6514.         __tmp = xmlAttr(_obj=ret)
  6515.         return __tmp
  6516.  
  6517.     def newTextChild(self, parent, name, content):
  6518.         """Creation of a new child element, added at the end of
  6519.            @parent children list. @ns and @content parameters are
  6520.            optional (None). If @ns is None, the newly created element
  6521.            inherits the namespace of @parent. If @content is non
  6522.            None, a child TEXT node will be created containing the
  6523.            string @content. NOTE: Use xmlNewChild() if @content will
  6524.            contain entities that need to be preserved. Use this
  6525.            function, xmlNewTextChild(), if you need to ensure that
  6526.            reserved XML chars that might appear in @content, such as
  6527.            the ampersand, greater-than or less-than signs, are
  6528.            automatically replaced by their XML escaped entity
  6529.            representations. """
  6530.         if parent is None: parent__o = None
  6531.         else: parent__o = parent._o
  6532.         ret = libxml2mod.xmlNewTextChild(parent__o, self._o, name, content)
  6533.         if ret is None:raise treeError('xmlNewTextChild() failed')
  6534.         __tmp = xmlNode(_obj=ret)
  6535.         return __tmp
  6536.  
  6537.     def setNs(self, node):
  6538.         """Associate a namespace to a node, a posteriori. """
  6539.         if node is None: node__o = None
  6540.         else: node__o = node._o
  6541.         libxml2mod.xmlSetNs(node__o, self._o)
  6542.  
  6543.     def setNsProp(self, node, name, value):
  6544.         """Set (or reset) an attribute carried by a node. The ns
  6545.            structure must be in scope, this is not checked. """
  6546.         if node is None: node__o = None
  6547.         else: node__o = node._o
  6548.         ret = libxml2mod.xmlSetNsProp(node__o, self._o, name, value)
  6549.         if ret is None:raise treeError('xmlSetNsProp() failed')
  6550.         __tmp = xmlAttr(_obj=ret)
  6551.         return __tmp
  6552.  
  6553.     def unsetNsProp(self, node, name):
  6554.         """Remove an attribute carried by a node. """
  6555.         if node is None: node__o = None
  6556.         else: node__o = node._o
  6557.         ret = libxml2mod.xmlUnsetNsProp(node__o, self._o, name)
  6558.         return ret
  6559.  
  6560.     #
  6561.     # xmlNs functions from module xpathInternals
  6562.     #
  6563.  
  6564.     def xpathNodeSetFreeNs(self):
  6565.         """Namespace nodes in libxml don't match the XPath semantic.
  6566.            In a node set the namespace nodes are duplicated and the
  6567.            next pointer is set to the parent node in the XPath
  6568.            semantic. Check if such a node needs to be freed """
  6569.         libxml2mod.xmlXPathNodeSetFreeNs(self._o)
  6570.  
  6571. class xmlTextReaderLocator:
  6572.     def __init__(self, _obj=None):
  6573.         if _obj != None:self._o = _obj;return
  6574.         self._o = None
  6575.  
  6576.     #
  6577.     # xmlTextReaderLocator functions from module xmlreader
  6578.     #
  6579.  
  6580.     def BaseURI(self):
  6581.         """Obtain the base URI for the given locator. """
  6582.         ret = libxml2mod.xmlTextReaderLocatorBaseURI(self._o)
  6583.         return ret
  6584.  
  6585.     def LineNumber(self):
  6586.         """Obtain the line number for the given locator. """
  6587.         ret = libxml2mod.xmlTextReaderLocatorLineNumber(self._o)
  6588.         return ret
  6589.  
  6590. class URI:
  6591.     def __init__(self, _obj=None):
  6592.         if _obj != None:self._o = _obj;return
  6593.         self._o = None
  6594.  
  6595.     def __del__(self):
  6596.         if self._o != None:
  6597.             libxml2mod.xmlFreeURI(self._o)
  6598.         self._o = None
  6599.  
  6600.     # accessors for URI
  6601.     def authority(self):
  6602.         """Get the authority part from an URI """
  6603.         ret = libxml2mod.xmlURIGetAuthority(self._o)
  6604.         return ret
  6605.  
  6606.     def fragment(self):
  6607.         """Get the fragment part from an URI """
  6608.         ret = libxml2mod.xmlURIGetFragment(self._o)
  6609.         return ret
  6610.  
  6611.     def opaque(self):
  6612.         """Get the opaque part from an URI """
  6613.         ret = libxml2mod.xmlURIGetOpaque(self._o)
  6614.         return ret
  6615.  
  6616.     def path(self):
  6617.         """Get the path part from an URI """
  6618.         ret = libxml2mod.xmlURIGetPath(self._o)
  6619.         return ret
  6620.  
  6621.     def port(self):
  6622.         """Get the port part from an URI """
  6623.         ret = libxml2mod.xmlURIGetPort(self._o)
  6624.         return ret
  6625.  
  6626.     def query(self):
  6627.         """Get the query part from an URI """
  6628.         ret = libxml2mod.xmlURIGetQuery(self._o)
  6629.         return ret
  6630.  
  6631.     def scheme(self):
  6632.         """Get the scheme part from an URI """
  6633.         ret = libxml2mod.xmlURIGetScheme(self._o)
  6634.         return ret
  6635.  
  6636.     def server(self):
  6637.         """Get the server part from an URI """
  6638.         ret = libxml2mod.xmlURIGetServer(self._o)
  6639.         return ret
  6640.  
  6641.     def setAuthority(self, authority):
  6642.         """Set the authority part of an URI. """
  6643.         libxml2mod.xmlURISetAuthority(self._o, authority)
  6644.  
  6645.     def setFragment(self, fragment):
  6646.         """Set the fragment part of an URI. """
  6647.         libxml2mod.xmlURISetFragment(self._o, fragment)
  6648.  
  6649.     def setOpaque(self, opaque):
  6650.         """Set the opaque part of an URI. """
  6651.         libxml2mod.xmlURISetOpaque(self._o, opaque)
  6652.  
  6653.     def setPath(self, path):
  6654.         """Set the path part of an URI. """
  6655.         libxml2mod.xmlURISetPath(self._o, path)
  6656.  
  6657.     def setPort(self, port):
  6658.         """Set the port part of an URI. """
  6659.         libxml2mod.xmlURISetPort(self._o, port)
  6660.  
  6661.     def setQuery(self, query):
  6662.         """Set the query part of an URI. """
  6663.         libxml2mod.xmlURISetQuery(self._o, query)
  6664.  
  6665.     def setScheme(self, scheme):
  6666.         """Set the scheme part of an URI. """
  6667.         libxml2mod.xmlURISetScheme(self._o, scheme)
  6668.  
  6669.     def setServer(self, server):
  6670.         """Set the server part of an URI. """
  6671.         libxml2mod.xmlURISetServer(self._o, server)
  6672.  
  6673.     def setUser(self, user):
  6674.         """Set the user part of an URI. """
  6675.         libxml2mod.xmlURISetUser(self._o, user)
  6676.  
  6677.     def user(self):
  6678.         """Get the user part from an URI """
  6679.         ret = libxml2mod.xmlURIGetUser(self._o)
  6680.         return ret
  6681.  
  6682.     #
  6683.     # URI functions from module uri
  6684.     #
  6685.  
  6686.     def parseURIReference(self, str):
  6687.         """Parse an URI reference string and fills in the appropriate
  6688.            fields of the @uri structure  URI-reference = [
  6689.            absoluteURI | relativeURI ] [ "#" fragment ] """
  6690.         ret = libxml2mod.xmlParseURIReference(self._o, str)
  6691.         return ret
  6692.  
  6693.     def printURI(self, stream):
  6694.         """Prints the URI in the stream @stream. """
  6695.         libxml2mod.xmlPrintURI(stream, self._o)
  6696.  
  6697.     def saveUri(self):
  6698.         """Save the URI as an escaped string """
  6699.         ret = libxml2mod.xmlSaveUri(self._o)
  6700.         return ret
  6701.  
  6702. class xmlAttribute(xmlNode):
  6703.     def __init__(self, _obj=None):
  6704.         if type(_obj).__name__ != 'PyCObject':
  6705.             raise TypeError, 'xmlAttribute needs a PyCObject argument'
  6706.         self._o = _obj
  6707.         xmlNode.__init__(self, _obj=_obj)
  6708.  
  6709.     def __repr__(self):
  6710.         return "<xmlAttribute (%s) object at 0x%x>" % (self.name, long(id (self)))
  6711.  
  6712. class catalog:
  6713.     def __init__(self, _obj=None):
  6714.         if _obj != None:self._o = _obj;return
  6715.         self._o = None
  6716.  
  6717.     def __del__(self):
  6718.         if self._o != None:
  6719.             libxml2mod.xmlFreeCatalog(self._o)
  6720.         self._o = None
  6721.  
  6722.     #
  6723.     # catalog functions from module catalog
  6724.     #
  6725.  
  6726.     def add(self, type, orig, replace):
  6727.         """Add an entry in the catalog, it may overwrite existing but
  6728.            different entries. """
  6729.         ret = libxml2mod.xmlACatalogAdd(self._o, type, orig, replace)
  6730.         return ret
  6731.  
  6732.     def catalogIsEmpty(self):
  6733.         """Check is a catalog is empty """
  6734.         ret = libxml2mod.xmlCatalogIsEmpty(self._o)
  6735.         return ret
  6736.  
  6737.     def convertSGMLCatalog(self):
  6738.         """Convert all the SGML catalog entries as XML ones """
  6739.         ret = libxml2mod.xmlConvertSGMLCatalog(self._o)
  6740.         return ret
  6741.  
  6742.     def dump(self, out):
  6743.         """Dump the given catalog to the given file. """
  6744.         libxml2mod.xmlACatalogDump(self._o, out)
  6745.  
  6746.     def remove(self, value):
  6747.         """Remove an entry from the catalog """
  6748.         ret = libxml2mod.xmlACatalogRemove(self._o, value)
  6749.         return ret
  6750.  
  6751.     def resolve(self, pubID, sysID):
  6752.         """Do a complete resolution lookup of an External Identifier """
  6753.         ret = libxml2mod.xmlACatalogResolve(self._o, pubID, sysID)
  6754.         return ret
  6755.  
  6756.     def resolvePublic(self, pubID):
  6757.         """Try to lookup the catalog local reference associated to a
  6758.            public ID in that catalog """
  6759.         ret = libxml2mod.xmlACatalogResolvePublic(self._o, pubID)
  6760.         return ret
  6761.  
  6762.     def resolveSystem(self, sysID):
  6763.         """Try to lookup the catalog resource for a system ID """
  6764.         ret = libxml2mod.xmlACatalogResolveSystem(self._o, sysID)
  6765.         return ret
  6766.  
  6767.     def resolveURI(self, URI):
  6768.         """Do a complete resolution lookup of an URI """
  6769.         ret = libxml2mod.xmlACatalogResolveURI(self._o, URI)
  6770.         return ret
  6771.  
  6772. class xpathContext:
  6773.     def __init__(self, _obj=None):
  6774.         if _obj != None:self._o = _obj;return
  6775.         self._o = None
  6776.  
  6777.     # accessors for xpathContext
  6778.     def contextDoc(self):
  6779.         """Get the doc from an xpathContext """
  6780.         ret = libxml2mod.xmlXPathGetContextDoc(self._o)
  6781.         if ret is None:raise xpathError('xmlXPathGetContextDoc() failed')
  6782.         __tmp = xmlDoc(_obj=ret)
  6783.         return __tmp
  6784.  
  6785.     def contextNode(self):
  6786.         """Get the current node from an xpathContext """
  6787.         ret = libxml2mod.xmlXPathGetContextNode(self._o)
  6788.         if ret is None:raise xpathError('xmlXPathGetContextNode() failed')
  6789.         __tmp = xmlNode(_obj=ret)
  6790.         return __tmp
  6791.  
  6792.     def contextPosition(self):
  6793.         """Get the current node from an xpathContext """
  6794.         ret = libxml2mod.xmlXPathGetContextPosition(self._o)
  6795.         return ret
  6796.  
  6797.     def contextSize(self):
  6798.         """Get the current node from an xpathContext """
  6799.         ret = libxml2mod.xmlXPathGetContextSize(self._o)
  6800.         return ret
  6801.  
  6802.     def function(self):
  6803.         """Get the current function name xpathContext """
  6804.         ret = libxml2mod.xmlXPathGetFunction(self._o)
  6805.         return ret
  6806.  
  6807.     def functionURI(self):
  6808.         """Get the current function name URI xpathContext """
  6809.         ret = libxml2mod.xmlXPathGetFunctionURI(self._o)
  6810.         return ret
  6811.  
  6812.     def setContextDoc(self, doc):
  6813.         """Set the doc of an xpathContext """
  6814.         if doc is None: doc__o = None
  6815.         else: doc__o = doc._o
  6816.         libxml2mod.xmlXPathSetContextDoc(self._o, doc__o)
  6817.  
  6818.     def setContextNode(self, node):
  6819.         """Set the current node of an xpathContext """
  6820.         if node is None: node__o = None
  6821.         else: node__o = node._o
  6822.         libxml2mod.xmlXPathSetContextNode(self._o, node__o)
  6823.  
  6824.     #
  6825.     # xpathContext functions from module python
  6826.     #
  6827.  
  6828.     def registerXPathFunction(self, name, ns_uri, f):
  6829.         """Register a Python written function to the XPath interpreter """
  6830.         ret = libxml2mod.xmlRegisterXPathFunction(self._o, name, ns_uri, f)
  6831.         return ret
  6832.  
  6833.     #
  6834.     # xpathContext functions from module xpath
  6835.     #
  6836.  
  6837.     def xpathEval(self, str):
  6838.         """Evaluate the XPath Location Path in the given context. """
  6839.         ret = libxml2mod.xmlXPathEval(str, self._o)
  6840.         if ret is None:raise xpathError('xmlXPathEval() failed')
  6841.         return xpathObjectRet(ret)
  6842.  
  6843.     def xpathEvalExpression(self, str):
  6844.         """Evaluate the XPath expression in the given context. """
  6845.         ret = libxml2mod.xmlXPathEvalExpression(str, self._o)
  6846.         if ret is None:raise xpathError('xmlXPathEvalExpression() failed')
  6847.         return xpathObjectRet(ret)
  6848.  
  6849.     def xpathFreeContext(self):
  6850.         """Free up an xmlXPathContext """
  6851.         libxml2mod.xmlXPathFreeContext(self._o)
  6852.  
  6853.     #
  6854.     # xpathContext functions from module xpathInternals
  6855.     #
  6856.  
  6857.     def xpathNewParserContext(self, str):
  6858.         """Create a new xmlXPathParserContext """
  6859.         ret = libxml2mod.xmlXPathNewParserContext(str, self._o)
  6860.         if ret is None:raise xpathError('xmlXPathNewParserContext() failed')
  6861.         __tmp = xpathParserContext(_obj=ret)
  6862.         return __tmp
  6863.  
  6864.     def xpathNsLookup(self, prefix):
  6865.         """Search in the namespace declaration array of the context
  6866.            for the given namespace name associated to the given prefix """
  6867.         ret = libxml2mod.xmlXPathNsLookup(self._o, prefix)
  6868.         return ret
  6869.  
  6870.     def xpathRegisterAllFunctions(self):
  6871.         """Registers all default XPath functions in this context """
  6872.         libxml2mod.xmlXPathRegisterAllFunctions(self._o)
  6873.  
  6874.     def xpathRegisterNs(self, prefix, ns_uri):
  6875.         """Register a new namespace. If @ns_uri is None it unregisters
  6876.            the namespace """
  6877.         ret = libxml2mod.xmlXPathRegisterNs(self._o, prefix, ns_uri)
  6878.         return ret
  6879.  
  6880.     def xpathRegisteredFuncsCleanup(self):
  6881.         """Cleanup the XPath context data associated to registered
  6882.            functions """
  6883.         libxml2mod.xmlXPathRegisteredFuncsCleanup(self._o)
  6884.  
  6885.     def xpathRegisteredNsCleanup(self):
  6886.         """Cleanup the XPath context data associated to registered
  6887.            variables """
  6888.         libxml2mod.xmlXPathRegisteredNsCleanup(self._o)
  6889.  
  6890.     def xpathRegisteredVariablesCleanup(self):
  6891.         """Cleanup the XPath context data associated to registered
  6892.            variables """
  6893.         libxml2mod.xmlXPathRegisteredVariablesCleanup(self._o)
  6894.  
  6895.     def xpathVariableLookup(self, name):
  6896.         """Search in the Variable array of the context for the given
  6897.            variable value. """
  6898.         ret = libxml2mod.xmlXPathVariableLookup(self._o, name)
  6899.         if ret is None:raise xpathError('xmlXPathVariableLookup() failed')
  6900.         return xpathObjectRet(ret)
  6901.  
  6902.     def xpathVariableLookupNS(self, name, ns_uri):
  6903.         """Search in the Variable array of the context for the given
  6904.            variable value. """
  6905.         ret = libxml2mod.xmlXPathVariableLookupNS(self._o, name, ns_uri)
  6906.         if ret is None:raise xpathError('xmlXPathVariableLookupNS() failed')
  6907.         return xpathObjectRet(ret)
  6908.  
  6909.     #
  6910.     # xpathContext functions from module xpointer
  6911.     #
  6912.  
  6913.     def xpointerEval(self, str):
  6914.         """Evaluate the XPath Location Path in the given context. """
  6915.         ret = libxml2mod.xmlXPtrEval(str, self._o)
  6916.         if ret is None:raise treeError('xmlXPtrEval() failed')
  6917.         return xpathObjectRet(ret)
  6918.  
  6919. class xmlElement(xmlNode):
  6920.     def __init__(self, _obj=None):
  6921.         if type(_obj).__name__ != 'PyCObject':
  6922.             raise TypeError, 'xmlElement needs a PyCObject argument'
  6923.         self._o = _obj
  6924.         xmlNode.__init__(self, _obj=_obj)
  6925.  
  6926.     def __repr__(self):
  6927.         return "<xmlElement (%s) object at 0x%x>" % (self.name, long(id (self)))
  6928.  
  6929. class xmlTextReader(xmlTextReaderCore):
  6930.     def __init__(self, _obj=None):
  6931.         self.input = None
  6932.         self._o = _obj
  6933.         xmlTextReaderCore.__init__(self, _obj=_obj)
  6934.  
  6935.     def __del__(self):
  6936.         if self._o != None:
  6937.             libxml2mod.xmlFreeTextReader(self._o)
  6938.         self._o = None
  6939.  
  6940.     #
  6941.     # xmlTextReader functions from module xmlreader
  6942.     #
  6943.  
  6944.     def AttributeCount(self):
  6945.         """Provides the number of attributes of the current node """
  6946.         ret = libxml2mod.xmlTextReaderAttributeCount(self._o)
  6947.         return ret
  6948.  
  6949.     def BaseUri(self):
  6950.         """The base URI of the node. """
  6951.         ret = libxml2mod.xmlTextReaderConstBaseUri(self._o)
  6952.         return ret
  6953.  
  6954.     def ByteConsumed(self):
  6955.         """This function provides the current index of the parser used
  6956.            by the reader, relative to the start of the current
  6957.            entity. This function actually just wraps a call to
  6958.            xmlBytesConsumed() for the parser context associated with
  6959.            the reader. See xmlBytesConsumed() for more information. """
  6960.         ret = libxml2mod.xmlTextReaderByteConsumed(self._o)
  6961.         return ret
  6962.  
  6963.     def Close(self):
  6964.         """This method releases any resources allocated by the current
  6965.            instance changes the state to Closed and close any
  6966.            underlying input. """
  6967.         ret = libxml2mod.xmlTextReaderClose(self._o)
  6968.         return ret
  6969.  
  6970.     def CurrentDoc(self):
  6971.         """Hacking interface allowing to get the xmlDocPtr
  6972.            correponding to the current document being accessed by the
  6973.            xmlTextReader. NOTE: as a result of this call, the reader
  6974.            will not destroy the associated XML document and calling
  6975.            xmlFreeDoc() on the result is needed once the reader
  6976.            parsing has finished. """
  6977.         ret = libxml2mod.xmlTextReaderCurrentDoc(self._o)
  6978.         if ret is None:raise treeError('xmlTextReaderCurrentDoc() failed')
  6979.         __tmp = xmlDoc(_obj=ret)
  6980.         return __tmp
  6981.  
  6982.     def CurrentNode(self):
  6983.         """Hacking interface allowing to get the xmlNodePtr
  6984.            correponding to the current node being accessed by the
  6985.            xmlTextReader. This is dangerous because the underlying
  6986.            node may be destroyed on the next Reads. """
  6987.         ret = libxml2mod.xmlTextReaderCurrentNode(self._o)
  6988.         if ret is None:raise treeError('xmlTextReaderCurrentNode() failed')
  6989.         __tmp = xmlNode(_obj=ret)
  6990.         return __tmp
  6991.  
  6992.     def Depth(self):
  6993.         """The depth of the node in the tree. """
  6994.         ret = libxml2mod.xmlTextReaderDepth(self._o)
  6995.         return ret
  6996.  
  6997.     def Encoding(self):
  6998.         """Determine the encoding of the document being read. """
  6999.         ret = libxml2mod.xmlTextReaderConstEncoding(self._o)
  7000.         return ret
  7001.  
  7002.     def Expand(self):
  7003.         """Reads the contents of the current node and the full
  7004.            subtree. It then makes the subtree available until the
  7005.            next xmlTextReaderRead() call """
  7006.         ret = libxml2mod.xmlTextReaderExpand(self._o)
  7007.         if ret is None:raise treeError('xmlTextReaderExpand() failed')
  7008.         __tmp = xmlNode(_obj=ret)
  7009.         return __tmp
  7010.  
  7011.     def GetAttribute(self, name):
  7012.         """Provides the value of the attribute with the specified
  7013.            qualified name. """
  7014.         ret = libxml2mod.xmlTextReaderGetAttribute(self._o, name)
  7015.         return ret
  7016.  
  7017.     def GetAttributeNo(self, no):
  7018.         """Provides the value of the attribute with the specified
  7019.            index relative to the containing element. """
  7020.         ret = libxml2mod.xmlTextReaderGetAttributeNo(self._o, no)
  7021.         return ret
  7022.  
  7023.     def GetAttributeNs(self, localName, namespaceURI):
  7024.         """Provides the value of the specified attribute """
  7025.         ret = libxml2mod.xmlTextReaderGetAttributeNs(self._o, localName, namespaceURI)
  7026.         return ret
  7027.  
  7028.     def GetParserColumnNumber(self):
  7029.         """Provide the column number of the current parsing point. """
  7030.         ret = libxml2mod.xmlTextReaderGetParserColumnNumber(self._o)
  7031.         return ret
  7032.  
  7033.     def GetParserLineNumber(self):
  7034.         """Provide the line number of the current parsing point. """
  7035.         ret = libxml2mod.xmlTextReaderGetParserLineNumber(self._o)
  7036.         return ret
  7037.  
  7038.     def GetParserProp(self, prop):
  7039.         """Read the parser internal property. """
  7040.         ret = libxml2mod.xmlTextReaderGetParserProp(self._o, prop)
  7041.         return ret
  7042.  
  7043.     def GetRemainder(self):
  7044.         """Method to get the remainder of the buffered XML. this
  7045.            method stops the parser, set its state to End Of File and
  7046.            return the input stream with what is left that the parser
  7047.            did not use.  The implementation is not good, the parser
  7048.            certainly procgressed past what's left in reader->input,
  7049.            and there is an allocation problem. Best would be to
  7050.            rewrite it differently. """
  7051.         ret = libxml2mod.xmlTextReaderGetRemainder(self._o)
  7052.         if ret is None:raise treeError('xmlTextReaderGetRemainder() failed')
  7053.         __tmp = inputBuffer(_obj=ret)
  7054.         return __tmp
  7055.  
  7056.     def HasAttributes(self):
  7057.         """Whether the node has attributes. """
  7058.         ret = libxml2mod.xmlTextReaderHasAttributes(self._o)
  7059.         return ret
  7060.  
  7061.     def HasValue(self):
  7062.         """Whether the node can have a text value. """
  7063.         ret = libxml2mod.xmlTextReaderHasValue(self._o)
  7064.         return ret
  7065.  
  7066.     def IsDefault(self):
  7067.         """Whether an Attribute  node was generated from the default
  7068.            value defined in the DTD or schema. """
  7069.         ret = libxml2mod.xmlTextReaderIsDefault(self._o)
  7070.         return ret
  7071.  
  7072.     def IsEmptyElement(self):
  7073.         """Check if the current node is empty """
  7074.         ret = libxml2mod.xmlTextReaderIsEmptyElement(self._o)
  7075.         return ret
  7076.  
  7077.     def IsNamespaceDecl(self):
  7078.         """Determine whether the current node is a namespace
  7079.            declaration rather than a regular attribute. """
  7080.         ret = libxml2mod.xmlTextReaderIsNamespaceDecl(self._o)
  7081.         return ret
  7082.  
  7083.     def IsValid(self):
  7084.         """Retrieve the validity status from the parser context """
  7085.         ret = libxml2mod.xmlTextReaderIsValid(self._o)
  7086.         return ret
  7087.  
  7088.     def LocalName(self):
  7089.         """The local name of the node. """
  7090.         ret = libxml2mod.xmlTextReaderConstLocalName(self._o)
  7091.         return ret
  7092.  
  7093.     def LookupNamespace(self, prefix):
  7094.         """Resolves a namespace prefix in the scope of the current
  7095.            element. """
  7096.         ret = libxml2mod.xmlTextReaderLookupNamespace(self._o, prefix)
  7097.         return ret
  7098.  
  7099.     def MoveToAttribute(self, name):
  7100.         """Moves the position of the current instance to the attribute
  7101.            with the specified qualified name. """
  7102.         ret = libxml2mod.xmlTextReaderMoveToAttribute(self._o, name)
  7103.         return ret
  7104.  
  7105.     def MoveToAttributeNo(self, no):
  7106.         """Moves the position of the current instance to the attribute
  7107.            with the specified index relative to the containing
  7108.            element. """
  7109.         ret = libxml2mod.xmlTextReaderMoveToAttributeNo(self._o, no)
  7110.         return ret
  7111.  
  7112.     def MoveToAttributeNs(self, localName, namespaceURI):
  7113.         """Moves the position of the current instance to the attribute
  7114.            with the specified local name and namespace URI. """
  7115.         ret = libxml2mod.xmlTextReaderMoveToAttributeNs(self._o, localName, namespaceURI)
  7116.         return ret
  7117.  
  7118.     def MoveToElement(self):
  7119.         """Moves the position of the current instance to the node that
  7120.            contains the current Attribute  node. """
  7121.         ret = libxml2mod.xmlTextReaderMoveToElement(self._o)
  7122.         return ret
  7123.  
  7124.     def MoveToFirstAttribute(self):
  7125.         """Moves the position of the current instance to the first
  7126.            attribute associated with the current node. """
  7127.         ret = libxml2mod.xmlTextReaderMoveToFirstAttribute(self._o)
  7128.         return ret
  7129.  
  7130.     def MoveToNextAttribute(self):
  7131.         """Moves the position of the current instance to the next
  7132.            attribute associated with the current node. """
  7133.         ret = libxml2mod.xmlTextReaderMoveToNextAttribute(self._o)
  7134.         return ret
  7135.  
  7136.     def Name(self):
  7137.         """The qualified name of the node, equal to Prefix :LocalName. """
  7138.         ret = libxml2mod.xmlTextReaderConstName(self._o)
  7139.         return ret
  7140.  
  7141.     def NamespaceUri(self):
  7142.         """The URI defining the namespace associated with the node. """
  7143.         ret = libxml2mod.xmlTextReaderConstNamespaceUri(self._o)
  7144.         return ret
  7145.  
  7146.     def NewDoc(self, cur, URL, encoding, options):
  7147.         """Setup an xmltextReader to parse an XML in-memory document.
  7148.            The parsing flags @options are a combination of
  7149.            xmlParserOption. This reuses the existing @reader
  7150.            xmlTextReader. """
  7151.         ret = libxml2mod.xmlReaderNewDoc(self._o, cur, URL, encoding, options)
  7152.         return ret
  7153.  
  7154.     def NewFd(self, fd, URL, encoding, options):
  7155.         """Setup an xmltextReader to parse an XML from a file
  7156.            descriptor. NOTE that the file descriptor will not be
  7157.            closed when the reader is closed or reset. The parsing
  7158.            flags @options are a combination of xmlParserOption. This
  7159.            reuses the existing @reader xmlTextReader. """
  7160.         ret = libxml2mod.xmlReaderNewFd(self._o, fd, URL, encoding, options)
  7161.         return ret
  7162.  
  7163.     def NewFile(self, filename, encoding, options):
  7164.         """parse an XML file from the filesystem or the network. The
  7165.            parsing flags @options are a combination of
  7166.            xmlParserOption. This reuses the existing @reader
  7167.            xmlTextReader. """
  7168.         ret = libxml2mod.xmlReaderNewFile(self._o, filename, encoding, options)
  7169.         return ret
  7170.  
  7171.     def NewMemory(self, buffer, size, URL, encoding, options):
  7172.         """Setup an xmltextReader to parse an XML in-memory document.
  7173.            The parsing flags @options are a combination of
  7174.            xmlParserOption. This reuses the existing @reader
  7175.            xmlTextReader. """
  7176.         ret = libxml2mod.xmlReaderNewMemory(self._o, buffer, size, URL, encoding, options)
  7177.         return ret
  7178.  
  7179.     def NewWalker(self, doc):
  7180.         """Setup an xmltextReader to parse a preparsed XML document.
  7181.            This reuses the existing @reader xmlTextReader. """
  7182.         if doc is None: doc__o = None
  7183.         else: doc__o = doc._o
  7184.         ret = libxml2mod.xmlReaderNewWalker(self._o, doc__o)
  7185.         return ret
  7186.  
  7187.     def Next(self):
  7188.         """Skip to the node following the current one in document
  7189.            order while avoiding the subtree if any. """
  7190.         ret = libxml2mod.xmlTextReaderNext(self._o)
  7191.         return ret
  7192.  
  7193.     def NextSibling(self):
  7194.         """Skip to the node following the current one in document
  7195.            order while avoiding the subtree if any. Currently
  7196.            implemented only for Readers built on a document """
  7197.         ret = libxml2mod.xmlTextReaderNextSibling(self._o)
  7198.         return ret
  7199.  
  7200.     def NodeType(self):
  7201.         """Get the node type of the current node Reference:
  7202.            http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html """
  7203.         ret = libxml2mod.xmlTextReaderNodeType(self._o)
  7204.         return ret
  7205.  
  7206.     def Normalization(self):
  7207.         """The value indicating whether to normalize white space and
  7208.            attribute values. Since attribute value and end of line
  7209.            normalizations are a MUST in the XML specification only
  7210.            the value true is accepted. The broken bahaviour of
  7211.            accepting out of range character entities like � is of
  7212.            course not supported either. """
  7213.         ret = libxml2mod.xmlTextReaderNormalization(self._o)
  7214.         return ret
  7215.  
  7216.     def Prefix(self):
  7217.         """A shorthand reference to the namespace associated with the
  7218.            node. """
  7219.         ret = libxml2mod.xmlTextReaderConstPrefix(self._o)
  7220.         return ret
  7221.  
  7222.     def Preserve(self):
  7223.         """This tells the XML Reader to preserve the current node. The
  7224.            caller must also use xmlTextReaderCurrentDoc() to keep an
  7225.            handle on the resulting document once parsing has finished """
  7226.         ret = libxml2mod.xmlTextReaderPreserve(self._o)
  7227.         if ret is None:raise treeError('xmlTextReaderPreserve() failed')
  7228.         __tmp = xmlNode(_obj=ret)
  7229.         return __tmp
  7230.  
  7231.     def QuoteChar(self):
  7232.         """The quotation mark character used to enclose the value of
  7233.            an attribute. """
  7234.         ret = libxml2mod.xmlTextReaderQuoteChar(self._o)
  7235.         return ret
  7236.  
  7237.     def Read(self):
  7238.         """Moves the position of the current instance to the next node
  7239.            in the stream, exposing its properties. """
  7240.         ret = libxml2mod.xmlTextReaderRead(self._o)
  7241.         return ret
  7242.  
  7243.     def ReadAttributeValue(self):
  7244.         """Parses an attribute value into one or more Text and
  7245.            EntityReference nodes. """
  7246.         ret = libxml2mod.xmlTextReaderReadAttributeValue(self._o)
  7247.         return ret
  7248.  
  7249.     def ReadInnerXml(self):
  7250.         """Reads the contents of the current node, including child
  7251.            nodes and markup. """
  7252.         ret = libxml2mod.xmlTextReaderReadInnerXml(self._o)
  7253.         return ret
  7254.  
  7255.     def ReadOuterXml(self):
  7256.         """Reads the contents of the current node, including child
  7257.            nodes and markup. """
  7258.         ret = libxml2mod.xmlTextReaderReadOuterXml(self._o)
  7259.         return ret
  7260.  
  7261.     def ReadState(self):
  7262.         """Gets the read state of the reader. """
  7263.         ret = libxml2mod.xmlTextReaderReadState(self._o)
  7264.         return ret
  7265.  
  7266.     def ReadString(self):
  7267.         """Reads the contents of an element or a text node as a string. """
  7268.         ret = libxml2mod.xmlTextReaderReadString(self._o)
  7269.         return ret
  7270.  
  7271.     def RelaxNGSetSchema(self, schema):
  7272.         """Use RelaxNG to validate the document as it is processed.
  7273.            Activation is only possible before the first Read(). if
  7274.            @schema is None, then RelaxNG validation is desactivated.
  7275.            @ The @schema should not be freed until the reader is
  7276.            deallocated or its use has been deactivated. """
  7277.         if schema is None: schema__o = None
  7278.         else: schema__o = schema._o
  7279.         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(self._o, schema__o)
  7280.         return ret
  7281.  
  7282.     def RelaxNGValidate(self, rng):
  7283.         """Use RelaxNG to validate the document as it is processed.
  7284.            Activation is only possible before the first Read(). if
  7285.            @rng is None, then RelaxNG validation is desactivated. """
  7286.         ret = libxml2mod.xmlTextReaderRelaxNGValidate(self._o, rng)
  7287.         return ret
  7288.  
  7289.     def SchemaValidate(self, xsd):
  7290.         """Use W3C XSD schema to validate the document as it is
  7291.            processed. Activation is only possible before the first
  7292.            Read(). If @xsd is None, then XML Schema validation is
  7293.            deactivated. """
  7294.         ret = libxml2mod.xmlTextReaderSchemaValidate(self._o, xsd)
  7295.         return ret
  7296.  
  7297.     def SchemaValidateCtxt(self, ctxt, options):
  7298.         """Use W3C XSD schema context to validate the document as it
  7299.            is processed. Activation is only possible before the first
  7300.            Read(). If @ctxt is None, then XML Schema validation is
  7301.            deactivated. """
  7302.         if ctxt is None: ctxt__o = None
  7303.         else: ctxt__o = ctxt._o
  7304.         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(self._o, ctxt__o, options)
  7305.         return ret
  7306.  
  7307.     def SetParserProp(self, prop, value):
  7308.         """Change the parser processing behaviour by changing some of
  7309.            its internal properties. Note that some properties can
  7310.            only be changed before any read has been done. """
  7311.         ret = libxml2mod.xmlTextReaderSetParserProp(self._o, prop, value)
  7312.         return ret
  7313.  
  7314.     def SetSchema(self, schema):
  7315.         """Use XSD Schema to validate the document as it is processed.
  7316.            Activation is only possible before the first Read(). if
  7317.            @schema is None, then Schema validation is desactivated. @
  7318.            The @schema should not be freed until the reader is
  7319.            deallocated or its use has been deactivated. """
  7320.         if schema is None: schema__o = None
  7321.         else: schema__o = schema._o
  7322.         ret = libxml2mod.xmlTextReaderSetSchema(self._o, schema__o)
  7323.         return ret
  7324.  
  7325.     def Standalone(self):
  7326.         """Determine the standalone status of the document being read. """
  7327.         ret = libxml2mod.xmlTextReaderStandalone(self._o)
  7328.         return ret
  7329.  
  7330.     def String(self, str):
  7331.         """Get an interned string from the reader, allows for example
  7332.            to speedup string name comparisons """
  7333.         ret = libxml2mod.xmlTextReaderConstString(self._o, str)
  7334.         return ret
  7335.  
  7336.     def Value(self):
  7337.         """Provides the text value of the node if present """
  7338.         ret = libxml2mod.xmlTextReaderConstValue(self._o)
  7339.         return ret
  7340.  
  7341.     def XmlLang(self):
  7342.         """The xml:lang scope within which the node resides. """
  7343.         ret = libxml2mod.xmlTextReaderConstXmlLang(self._o)
  7344.         return ret
  7345.  
  7346.     def XmlVersion(self):
  7347.         """Determine the XML version of the document being read. """
  7348.         ret = libxml2mod.xmlTextReaderConstXmlVersion(self._o)
  7349.         return ret
  7350.  
  7351. class xmlEntity(xmlNode):
  7352.     def __init__(self, _obj=None):
  7353.         if type(_obj).__name__ != 'PyCObject':
  7354.             raise TypeError, 'xmlEntity needs a PyCObject argument'
  7355.         self._o = _obj
  7356.         xmlNode.__init__(self, _obj=_obj)
  7357.  
  7358.     def __repr__(self):
  7359.         return "<xmlEntity (%s) object at 0x%x>" % (self.name, long(id (self)))
  7360.  
  7361.     #
  7362.     # xmlEntity functions from module parserInternals
  7363.     #
  7364.  
  7365.     def handleEntity(self, ctxt):
  7366.         """Default handling of defined entities, when should we define
  7367.            a new input stream ? When do we just handle that as a set
  7368.            of chars ?  OBSOLETE: to be removed at some point. """
  7369.         if ctxt is None: ctxt__o = None
  7370.         else: ctxt__o = ctxt._o
  7371.         libxml2mod.xmlHandleEntity(ctxt__o, self._o)
  7372.  
  7373. class Schema:
  7374.     def __init__(self, _obj=None):
  7375.         if _obj != None:self._o = _obj;return
  7376.         self._o = None
  7377.  
  7378.     def __del__(self):
  7379.         if self._o != None:
  7380.             libxml2mod.xmlSchemaFree(self._o)
  7381.         self._o = None
  7382.  
  7383.     #
  7384.     # Schema functions from module xmlreader
  7385.     #
  7386.  
  7387.     def SetSchema(self, reader):
  7388.         """Use XSD Schema to validate the document as it is processed.
  7389.            Activation is only possible before the first Read(). if
  7390.            @schema is None, then Schema validation is desactivated. @
  7391.            The @schema should not be freed until the reader is
  7392.            deallocated or its use has been deactivated. """
  7393.         if reader is None: reader__o = None
  7394.         else: reader__o = reader._o
  7395.         ret = libxml2mod.xmlTextReaderSetSchema(reader__o, self._o)
  7396.         return ret
  7397.  
  7398.     #
  7399.     # Schema functions from module xmlschemas
  7400.     #
  7401.  
  7402.     def schemaDump(self, output):
  7403.         """Dump a Schema structure. """
  7404.         libxml2mod.xmlSchemaDump(output, self._o)
  7405.  
  7406.     def schemaNewValidCtxt(self):
  7407.         ret = libxml2mod.xmlSchemaNewValidCtxt(self._o)
  7408.         if ret is None:raise treeError('xmlSchemaNewValidCtxt() failed')
  7409.         __tmp = SchemaValidCtxt(_obj=ret)
  7410.         __tmp.schema = self
  7411.         return __tmp
  7412.  
  7413. class Error:
  7414.     def __init__(self, _obj=None):
  7415.         if _obj != None:self._o = _obj;return
  7416.         self._o = None
  7417.  
  7418.     # accessors for Error
  7419.     def code(self):
  7420.         """The error code, e.g. an xmlParserError """
  7421.         ret = libxml2mod.xmlErrorGetCode(self._o)
  7422.         return ret
  7423.  
  7424.     def domain(self):
  7425.         """What part of the library raised this error """
  7426.         ret = libxml2mod.xmlErrorGetDomain(self._o)
  7427.         return ret
  7428.  
  7429.     def file(self):
  7430.         """the filename """
  7431.         ret = libxml2mod.xmlErrorGetFile(self._o)
  7432.         return ret
  7433.  
  7434.     def level(self):
  7435.         """how consequent is the error """
  7436.         ret = libxml2mod.xmlErrorGetLevel(self._o)
  7437.         return ret
  7438.  
  7439.     def line(self):
  7440.         """the line number if available """
  7441.         ret = libxml2mod.xmlErrorGetLine(self._o)
  7442.         return ret
  7443.  
  7444.     def message(self):
  7445.         """human-readable informative error message """
  7446.         ret = libxml2mod.xmlErrorGetMessage(self._o)
  7447.         return ret
  7448.  
  7449.     #
  7450.     # Error functions from module xmlerror
  7451.     #
  7452.  
  7453.     def copyError(self, to):
  7454.         """Save the original error to the new place. """
  7455.         if to is None: to__o = None
  7456.         else: to__o = to._o
  7457.         ret = libxml2mod.xmlCopyError(self._o, to__o)
  7458.         return ret
  7459.  
  7460.     def resetError(self):
  7461.         """Cleanup the error. """
  7462.         libxml2mod.xmlResetError(self._o)
  7463.  
  7464. class relaxNgSchema:
  7465.     def __init__(self, _obj=None):
  7466.         if _obj != None:self._o = _obj;return
  7467.         self._o = None
  7468.  
  7469.     def __del__(self):
  7470.         if self._o != None:
  7471.             libxml2mod.xmlRelaxNGFree(self._o)
  7472.         self._o = None
  7473.  
  7474.     #
  7475.     # relaxNgSchema functions from module relaxng
  7476.     #
  7477.  
  7478.     def relaxNGDump(self, output):
  7479.         """Dump a RelaxNG structure back """
  7480.         libxml2mod.xmlRelaxNGDump(output, self._o)
  7481.  
  7482.     def relaxNGDumpTree(self, output):
  7483.         """Dump the transformed RelaxNG tree. """
  7484.         libxml2mod.xmlRelaxNGDumpTree(output, self._o)
  7485.  
  7486.     def relaxNGNewValidCtxt(self):
  7487.         """Create an XML RelaxNGs validation context based on the
  7488.            given schema """
  7489.         ret = libxml2mod.xmlRelaxNGNewValidCtxt(self._o)
  7490.         if ret is None:raise treeError('xmlRelaxNGNewValidCtxt() failed')
  7491.         __tmp = relaxNgValidCtxt(_obj=ret)
  7492.         __tmp.schema = self
  7493.         return __tmp
  7494.  
  7495.     #
  7496.     # relaxNgSchema functions from module xmlreader
  7497.     #
  7498.  
  7499.     def RelaxNGSetSchema(self, reader):
  7500.         """Use RelaxNG to validate the document as it is processed.
  7501.            Activation is only possible before the first Read(). if
  7502.            @schema is None, then RelaxNG validation is desactivated.
  7503.            @ The @schema should not be freed until the reader is
  7504.            deallocated or its use has been deactivated. """
  7505.         if reader is None: reader__o = None
  7506.         else: reader__o = reader._o
  7507.         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(reader__o, self._o)
  7508.         return ret
  7509.  
  7510. class inputBuffer(ioReadWrapper):
  7511.     def __init__(self, _obj=None):
  7512.         self._o = _obj
  7513.         ioReadWrapper.__init__(self, _obj=_obj)
  7514.  
  7515.     def __del__(self):
  7516.         if self._o != None:
  7517.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  7518.         self._o = None
  7519.  
  7520.     #
  7521.     # inputBuffer functions from module xmlIO
  7522.     #
  7523.  
  7524.     def grow(self, len):
  7525.         """Grow up the content of the input buffer, the old data are
  7526.            preserved This routine handle the I18N transcoding to
  7527.            internal UTF-8 This routine is used when operating the
  7528.            parser in normal (pull) mode  TODO: one should be able to
  7529.            remove one extra copy by copying directly onto in->buffer
  7530.            or in->raw """
  7531.         ret = libxml2mod.xmlParserInputBufferGrow(self._o, len)
  7532.         return ret
  7533.  
  7534.     def push(self, len, buf):
  7535.         """Push the content of the arry in the input buffer This
  7536.            routine handle the I18N transcoding to internal UTF-8 This
  7537.            is used when operating the parser in progressive (push)
  7538.            mode. """
  7539.         ret = libxml2mod.xmlParserInputBufferPush(self._o, len, buf)
  7540.         return ret
  7541.  
  7542.     def read(self, len):
  7543.         """Refresh the content of the input buffer, the old data are
  7544.            considered consumed This routine handle the I18N
  7545.            transcoding to internal UTF-8 """
  7546.         ret = libxml2mod.xmlParserInputBufferRead(self._o, len)
  7547.         return ret
  7548.  
  7549.     #
  7550.     # inputBuffer functions from module xmlreader
  7551.     #
  7552.  
  7553.     def newTextReader(self, URI):
  7554.         """Create an xmlTextReader structure fed with @input """
  7555.         ret = libxml2mod.xmlNewTextReader(self._o, URI)
  7556.         if ret is None:raise treeError('xmlNewTextReader() failed')
  7557.         __tmp = xmlTextReader(_obj=ret)
  7558.         __tmp.input = self
  7559.         return __tmp
  7560.  
  7561. class SchemaValidCtxt(SchemaValidCtxtCore):
  7562.     def __init__(self, _obj=None):
  7563.         self.schema = None
  7564.         self._o = _obj
  7565.         SchemaValidCtxtCore.__init__(self, _obj=_obj)
  7566.  
  7567.     def __del__(self):
  7568.         if self._o != None:
  7569.             libxml2mod.xmlSchemaFreeValidCtxt(self._o)
  7570.         self._o = None
  7571.  
  7572.     #
  7573.     # SchemaValidCtxt functions from module xmlreader
  7574.     #
  7575.  
  7576.     def SchemaValidateCtxt(self, reader, options):
  7577.         """Use W3C XSD schema context to validate the document as it
  7578.            is processed. Activation is only possible before the first
  7579.            Read(). If @ctxt is None, then XML Schema validation is
  7580.            deactivated. """
  7581.         if reader is None: reader__o = None
  7582.         else: reader__o = reader._o
  7583.         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(reader__o, self._o, options)
  7584.         return ret
  7585.  
  7586.     #
  7587.     # SchemaValidCtxt functions from module xmlschemas
  7588.     #
  7589.  
  7590.     def schemaIsValid(self):
  7591.         ret = libxml2mod.xmlSchemaIsValid(self._o)
  7592.         return ret
  7593.  
  7594.     def schemaSetValidOptions(self, options):
  7595.         ret = libxml2mod.xmlSchemaSetValidOptions(self._o, options)
  7596.         return ret
  7597.  
  7598.     def schemaValidCtxtGetOptions(self):
  7599.         ret = libxml2mod.xmlSchemaValidCtxtGetOptions(self._o)
  7600.         return ret
  7601.  
  7602.     def schemaValidateDoc(self, instance):
  7603.         if instance is None: instance__o = None
  7604.         else: instance__o = instance._o
  7605.         ret = libxml2mod.xmlSchemaValidateDoc(self._o, instance__o)
  7606.         return ret
  7607.  
  7608.     def schemaValidateFile(self, filename, options):
  7609.         ret = libxml2mod.xmlSchemaValidateFile(self._o, filename, options)
  7610.         return ret
  7611.  
  7612.     def schemaValidateOneElement(self, elem):
  7613.         if elem is None: elem__o = None
  7614.         else: elem__o = elem._o
  7615.         ret = libxml2mod.xmlSchemaValidateOneElement(self._o, elem__o)
  7616.         return ret
  7617.  
  7618. class outputBuffer(ioWriteWrapper):
  7619.     def __init__(self, _obj=None):
  7620.         self._o = _obj
  7621.         ioWriteWrapper.__init__(self, _obj=_obj)
  7622.  
  7623.     #
  7624.     # outputBuffer functions from module HTMLtree
  7625.     #
  7626.  
  7627.     def htmlDocContentDumpFormatOutput(self, cur, encoding, format):
  7628.         """Dump an HTML document. """
  7629.         if cur is None: cur__o = None
  7630.         else: cur__o = cur._o
  7631.         libxml2mod.htmlDocContentDumpFormatOutput(self._o, cur__o, encoding, format)
  7632.  
  7633.     def htmlDocContentDumpOutput(self, cur, encoding):
  7634.         """Dump an HTML document. Formating return/spaces are added. """
  7635.         if cur is None: cur__o = None
  7636.         else: cur__o = cur._o
  7637.         libxml2mod.htmlDocContentDumpOutput(self._o, cur__o, encoding)
  7638.  
  7639.     def htmlNodeDumpFormatOutput(self, doc, cur, encoding, format):
  7640.         """Dump an HTML node, recursive behaviour,children are printed
  7641.            too. """
  7642.         if doc is None: doc__o = None
  7643.         else: doc__o = doc._o
  7644.         if cur is None: cur__o = None
  7645.         else: cur__o = cur._o
  7646.         libxml2mod.htmlNodeDumpFormatOutput(self._o, doc__o, cur__o, encoding, format)
  7647.  
  7648.     def htmlNodeDumpOutput(self, doc, cur, encoding):
  7649.         """Dump an HTML node, recursive behaviour,children are printed
  7650.            too, and formatting returns/spaces are added. """
  7651.         if doc is None: doc__o = None
  7652.         else: doc__o = doc._o
  7653.         if cur is None: cur__o = None
  7654.         else: cur__o = cur._o
  7655.         libxml2mod.htmlNodeDumpOutput(self._o, doc__o, cur__o, encoding)
  7656.  
  7657.     #
  7658.     # outputBuffer functions from module tree
  7659.     #
  7660.  
  7661.     def nodeDumpOutput(self, doc, cur, level, format, encoding):
  7662.         """Dump an XML node, recursive behaviour, children are printed
  7663.            too. Note that @format = 1 provide node indenting only if
  7664.            xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
  7665.            called """
  7666.         if doc is None: doc__o = None
  7667.         else: doc__o = doc._o
  7668.         if cur is None: cur__o = None
  7669.         else: cur__o = cur._o
  7670.         libxml2mod.xmlNodeDumpOutput(self._o, doc__o, cur__o, level, format, encoding)
  7671.  
  7672.     def saveFileTo(self, cur, encoding):
  7673.         """Dump an XML document to an I/O buffer. Warning ! This call
  7674.            xmlOutputBufferClose() on buf which is not available after
  7675.            this call. """
  7676.         if cur is None: cur__o = None
  7677.         else: cur__o = cur._o
  7678.         ret = libxml2mod.xmlSaveFileTo(self._o, cur__o, encoding)
  7679.         return ret
  7680.  
  7681.     def saveFormatFileTo(self, cur, encoding, format):
  7682.         """Dump an XML document to an I/O buffer. Warning ! This call
  7683.            xmlOutputBufferClose() on buf which is not available after
  7684.            this call. """
  7685.         if cur is None: cur__o = None
  7686.         else: cur__o = cur._o
  7687.         ret = libxml2mod.xmlSaveFormatFileTo(self._o, cur__o, encoding, format)
  7688.         return ret
  7689.  
  7690.     #
  7691.     # outputBuffer functions from module xmlIO
  7692.     #
  7693.  
  7694.     def write(self, len, buf):
  7695.         """Write the content of the array in the output I/O buffer
  7696.            This routine handle the I18N transcoding from internal
  7697.            UTF-8 The buffer is lossless, i.e. will store in case of
  7698.            partial or delayed writes. """
  7699.         ret = libxml2mod.xmlOutputBufferWrite(self._o, len, buf)
  7700.         return ret
  7701.  
  7702.     def writeString(self, str):
  7703.         """Write the content of the string in the output I/O buffer
  7704.            This routine handle the I18N transcoding from internal
  7705.            UTF-8 The buffer is lossless, i.e. will store in case of
  7706.            partial or delayed writes. """
  7707.         ret = libxml2mod.xmlOutputBufferWriteString(self._o, str)
  7708.         return ret
  7709.  
  7710. # xlinkShow
  7711. XLINK_SHOW_NONE = 0
  7712. XLINK_SHOW_NEW = 1
  7713. XLINK_SHOW_EMBED = 2
  7714. XLINK_SHOW_REPLACE = 3
  7715.  
  7716. # xmlRelaxNGParserFlag
  7717. XML_RELAXNGP_NONE = 0
  7718. XML_RELAXNGP_FREE_DOC = 1
  7719. XML_RELAXNGP_CRNG = 2
  7720.  
  7721. # xmlBufferAllocationScheme
  7722. XML_BUFFER_ALLOC_DOUBLEIT = 1
  7723. XML_BUFFER_ALLOC_EXACT = 2
  7724. XML_BUFFER_ALLOC_IMMUTABLE = 3
  7725.  
  7726. # xmlParserSeverities
  7727. XML_PARSER_SEVERITY_VALIDITY_WARNING = 1
  7728. XML_PARSER_SEVERITY_VALIDITY_ERROR = 2
  7729. XML_PARSER_SEVERITY_WARNING = 3
  7730. XML_PARSER_SEVERITY_ERROR = 4
  7731.  
  7732. # xmlAttributeDefault
  7733. XML_ATTRIBUTE_NONE = 1
  7734. XML_ATTRIBUTE_REQUIRED = 2
  7735. XML_ATTRIBUTE_IMPLIED = 3
  7736. XML_ATTRIBUTE_FIXED = 4
  7737.  
  7738. # xmlSchemaValType
  7739. XML_SCHEMAS_UNKNOWN = 0
  7740. XML_SCHEMAS_STRING = 1
  7741. XML_SCHEMAS_NORMSTRING = 2
  7742. XML_SCHEMAS_DECIMAL = 3
  7743. XML_SCHEMAS_TIME = 4
  7744. XML_SCHEMAS_GDAY = 5
  7745. XML_SCHEMAS_GMONTH = 6
  7746. XML_SCHEMAS_GMONTHDAY = 7
  7747. XML_SCHEMAS_GYEAR = 8
  7748. XML_SCHEMAS_GYEARMONTH = 9
  7749. XML_SCHEMAS_DATE = 10
  7750. XML_SCHEMAS_DATETIME = 11
  7751. XML_SCHEMAS_DURATION = 12
  7752. XML_SCHEMAS_FLOAT = 13
  7753. XML_SCHEMAS_DOUBLE = 14
  7754. XML_SCHEMAS_BOOLEAN = 15
  7755. XML_SCHEMAS_TOKEN = 16
  7756. XML_SCHEMAS_LANGUAGE = 17
  7757. XML_SCHEMAS_NMTOKEN = 18
  7758. XML_SCHEMAS_NMTOKENS = 19
  7759. XML_SCHEMAS_NAME = 20
  7760. XML_SCHEMAS_QNAME = 21
  7761. XML_SCHEMAS_NCNAME = 22
  7762. XML_SCHEMAS_ID = 23
  7763. XML_SCHEMAS_IDREF = 24
  7764. XML_SCHEMAS_IDREFS = 25
  7765. XML_SCHEMAS_ENTITY = 26
  7766. XML_SCHEMAS_ENTITIES = 27
  7767. XML_SCHEMAS_NOTATION = 28
  7768. XML_SCHEMAS_ANYURI = 29
  7769. XML_SCHEMAS_INTEGER = 30
  7770. XML_SCHEMAS_NPINTEGER = 31
  7771. XML_SCHEMAS_NINTEGER = 32
  7772. XML_SCHEMAS_NNINTEGER = 33
  7773. XML_SCHEMAS_PINTEGER = 34
  7774. XML_SCHEMAS_INT = 35
  7775. XML_SCHEMAS_UINT = 36
  7776. XML_SCHEMAS_LONG = 37
  7777. XML_SCHEMAS_ULONG = 38
  7778. XML_SCHEMAS_SHORT = 39
  7779. XML_SCHEMAS_USHORT = 40
  7780. XML_SCHEMAS_BYTE = 41
  7781. XML_SCHEMAS_UBYTE = 42
  7782. XML_SCHEMAS_HEXBINARY = 43
  7783. XML_SCHEMAS_BASE64BINARY = 44
  7784. XML_SCHEMAS_ANYTYPE = 45
  7785. XML_SCHEMAS_ANYSIMPLETYPE = 46
  7786.  
  7787. # xmlParserInputState
  7788. XML_PARSER_EOF = -1
  7789. XML_PARSER_START = 0
  7790. XML_PARSER_MISC = 1
  7791. XML_PARSER_PI = 2
  7792. XML_PARSER_DTD = 3
  7793. XML_PARSER_PROLOG = 4
  7794. XML_PARSER_COMMENT = 5
  7795. XML_PARSER_START_TAG = 6
  7796. XML_PARSER_CONTENT = 7
  7797. XML_PARSER_CDATA_SECTION = 8
  7798. XML_PARSER_END_TAG = 9
  7799. XML_PARSER_ENTITY_DECL = 10
  7800. XML_PARSER_ENTITY_VALUE = 11
  7801. XML_PARSER_ATTRIBUTE_VALUE = 12
  7802. XML_PARSER_SYSTEM_LITERAL = 13
  7803. XML_PARSER_EPILOG = 14
  7804. XML_PARSER_IGNORE = 15
  7805. XML_PARSER_PUBLIC_LITERAL = 16
  7806.  
  7807. # xmlEntityType
  7808. XML_INTERNAL_GENERAL_ENTITY = 1
  7809. XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2
  7810. XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3
  7811. XML_INTERNAL_PARAMETER_ENTITY = 4
  7812. XML_EXTERNAL_PARAMETER_ENTITY = 5
  7813. XML_INTERNAL_PREDEFINED_ENTITY = 6
  7814.  
  7815. # xmlSaveOption
  7816. XML_SAVE_FORMAT = 1
  7817. XML_SAVE_NO_DECL = 2
  7818. XML_SAVE_NO_EMPTY = 4
  7819. XML_SAVE_NO_XHTML = 8
  7820.  
  7821. # xmlPatternFlags
  7822. XML_PATTERN_DEFAULT = 0
  7823. XML_PATTERN_XPATH = 1
  7824. XML_PATTERN_XSSEL = 2
  7825. XML_PATTERN_XSFIELD = 4
  7826.  
  7827. # xmlParserErrors
  7828. XML_ERR_OK = 0
  7829. XML_ERR_INTERNAL_ERROR = 1
  7830. XML_ERR_NO_MEMORY = 2
  7831. XML_ERR_DOCUMENT_START = 3
  7832. XML_ERR_DOCUMENT_EMPTY = 4
  7833. XML_ERR_DOCUMENT_END = 5
  7834. XML_ERR_INVALID_HEX_CHARREF = 6
  7835. XML_ERR_INVALID_DEC_CHARREF = 7
  7836. XML_ERR_INVALID_CHARREF = 8
  7837. XML_ERR_INVALID_CHAR = 9
  7838. XML_ERR_CHARREF_AT_EOF = 10
  7839. XML_ERR_CHARREF_IN_PROLOG = 11
  7840. XML_ERR_CHARREF_IN_EPILOG = 12
  7841. XML_ERR_CHARREF_IN_DTD = 13
  7842. XML_ERR_ENTITYREF_AT_EOF = 14
  7843. XML_ERR_ENTITYREF_IN_PROLOG = 15
  7844. XML_ERR_ENTITYREF_IN_EPILOG = 16
  7845. XML_ERR_ENTITYREF_IN_DTD = 17
  7846. XML_ERR_PEREF_AT_EOF = 18
  7847. XML_ERR_PEREF_IN_PROLOG = 19
  7848. XML_ERR_PEREF_IN_EPILOG = 20
  7849. XML_ERR_PEREF_IN_INT_SUBSET = 21
  7850. XML_ERR_ENTITYREF_NO_NAME = 22
  7851. XML_ERR_ENTITYREF_SEMICOL_MISSING = 23
  7852. XML_ERR_PEREF_NO_NAME = 24
  7853. XML_ERR_PEREF_SEMICOL_MISSING = 25
  7854. XML_ERR_UNDECLARED_ENTITY = 26
  7855. XML_WAR_UNDECLARED_ENTITY = 27
  7856. XML_ERR_UNPARSED_ENTITY = 28
  7857. XML_ERR_ENTITY_IS_EXTERNAL = 29
  7858. XML_ERR_ENTITY_IS_PARAMETER = 30
  7859. XML_ERR_UNKNOWN_ENCODING = 31
  7860. XML_ERR_UNSUPPORTED_ENCODING = 32
  7861. XML_ERR_STRING_NOT_STARTED = 33
  7862. XML_ERR_STRING_NOT_CLOSED = 34
  7863. XML_ERR_NS_DECL_ERROR = 35
  7864. XML_ERR_ENTITY_NOT_STARTED = 36
  7865. XML_ERR_ENTITY_NOT_FINISHED = 37
  7866. XML_ERR_LT_IN_ATTRIBUTE = 38
  7867. XML_ERR_ATTRIBUTE_NOT_STARTED = 39
  7868. XML_ERR_ATTRIBUTE_NOT_FINISHED = 40
  7869. XML_ERR_ATTRIBUTE_WITHOUT_VALUE = 41
  7870. XML_ERR_ATTRIBUTE_REDEFINED = 42
  7871. XML_ERR_LITERAL_NOT_STARTED = 43
  7872. XML_ERR_LITERAL_NOT_FINISHED = 44
  7873. XML_ERR_COMMENT_NOT_FINISHED = 45
  7874. XML_ERR_PI_NOT_STARTED = 46
  7875. XML_ERR_PI_NOT_FINISHED = 47
  7876. XML_ERR_NOTATION_NOT_STARTED = 48
  7877. XML_ERR_NOTATION_NOT_FINISHED = 49
  7878. XML_ERR_ATTLIST_NOT_STARTED = 50
  7879. XML_ERR_ATTLIST_NOT_FINISHED = 51
  7880. XML_ERR_MIXED_NOT_STARTED = 52
  7881. XML_ERR_MIXED_NOT_FINISHED = 53
  7882. XML_ERR_ELEMCONTENT_NOT_STARTED = 54
  7883. XML_ERR_ELEMCONTENT_NOT_FINISHED = 55
  7884. XML_ERR_XMLDECL_NOT_STARTED = 56
  7885. XML_ERR_XMLDECL_NOT_FINISHED = 57
  7886. XML_ERR_CONDSEC_NOT_STARTED = 58
  7887. XML_ERR_CONDSEC_NOT_FINISHED = 59
  7888. XML_ERR_EXT_SUBSET_NOT_FINISHED = 60
  7889. XML_ERR_DOCTYPE_NOT_FINISHED = 61
  7890. XML_ERR_MISPLACED_CDATA_END = 62
  7891. XML_ERR_CDATA_NOT_FINISHED = 63
  7892. XML_ERR_RESERVED_XML_NAME = 64
  7893. XML_ERR_SPACE_REQUIRED = 65
  7894. XML_ERR_SEPARATOR_REQUIRED = 66
  7895. XML_ERR_NMTOKEN_REQUIRED = 67
  7896. XML_ERR_NAME_REQUIRED = 68
  7897. XML_ERR_PCDATA_REQUIRED = 69
  7898. XML_ERR_URI_REQUIRED = 70
  7899. XML_ERR_PUBID_REQUIRED = 71
  7900. XML_ERR_LT_REQUIRED = 72
  7901. XML_ERR_GT_REQUIRED = 73
  7902. XML_ERR_LTSLASH_REQUIRED = 74
  7903. XML_ERR_EQUAL_REQUIRED = 75
  7904. XML_ERR_TAG_NAME_MISMATCH = 76
  7905. XML_ERR_TAG_NOT_FINISHED = 77
  7906. XML_ERR_STANDALONE_VALUE = 78
  7907. XML_ERR_ENCODING_NAME = 79
  7908. XML_ERR_HYPHEN_IN_COMMENT = 80
  7909. XML_ERR_INVALID_ENCODING = 81
  7910. XML_ERR_EXT_ENTITY_STANDALONE = 82
  7911. XML_ERR_CONDSEC_INVALID = 83
  7912. XML_ERR_VALUE_REQUIRED = 84
  7913. XML_ERR_NOT_WELL_BALANCED = 85
  7914. XML_ERR_EXTRA_CONTENT = 86
  7915. XML_ERR_ENTITY_CHAR_ERROR = 87
  7916. XML_ERR_ENTITY_PE_INTERNAL = 88
  7917. XML_ERR_ENTITY_LOOP = 89
  7918. XML_ERR_ENTITY_BOUNDARY = 90
  7919. XML_ERR_INVALID_URI = 91
  7920. XML_ERR_URI_FRAGMENT = 92
  7921. XML_WAR_CATALOG_PI = 93
  7922. XML_ERR_NO_DTD = 94
  7923. XML_ERR_CONDSEC_INVALID_KEYWORD = 95
  7924. XML_ERR_VERSION_MISSING = 96
  7925. XML_WAR_UNKNOWN_VERSION = 97
  7926. XML_WAR_LANG_VALUE = 98
  7927. XML_WAR_NS_URI = 99
  7928. XML_WAR_NS_URI_RELATIVE = 100
  7929. XML_ERR_MISSING_ENCODING = 101
  7930. XML_WAR_SPACE_VALUE = 102
  7931. XML_ERR_NOT_STANDALONE = 103
  7932. XML_ERR_ENTITY_PROCESSING = 104
  7933. XML_ERR_NOTATION_PROCESSING = 105
  7934. XML_WAR_NS_COLUMN = 106
  7935. XML_WAR_ENTITY_REDEFINED = 107
  7936. XML_NS_ERR_XML_NAMESPACE = 200
  7937. XML_NS_ERR_UNDEFINED_NAMESPACE = 201
  7938. XML_NS_ERR_QNAME = 202
  7939. XML_NS_ERR_ATTRIBUTE_REDEFINED = 203
  7940. XML_NS_ERR_EMPTY = 204
  7941. XML_DTD_ATTRIBUTE_DEFAULT = 500
  7942. XML_DTD_ATTRIBUTE_REDEFINED = 501
  7943. XML_DTD_ATTRIBUTE_VALUE = 502
  7944. XML_DTD_CONTENT_ERROR = 503
  7945. XML_DTD_CONTENT_MODEL = 504
  7946. XML_DTD_CONTENT_NOT_DETERMINIST = 505
  7947. XML_DTD_DIFFERENT_PREFIX = 506
  7948. XML_DTD_ELEM_DEFAULT_NAMESPACE = 507
  7949. XML_DTD_ELEM_NAMESPACE = 508
  7950. XML_DTD_ELEM_REDEFINED = 509
  7951. XML_DTD_EMPTY_NOTATION = 510
  7952. XML_DTD_ENTITY_TYPE = 511
  7953. XML_DTD_ID_FIXED = 512
  7954. XML_DTD_ID_REDEFINED = 513
  7955. XML_DTD_ID_SUBSET = 514
  7956. XML_DTD_INVALID_CHILD = 515
  7957. XML_DTD_INVALID_DEFAULT = 516
  7958. XML_DTD_LOAD_ERROR = 517
  7959. XML_DTD_MISSING_ATTRIBUTE = 518
  7960. XML_DTD_MIXED_CORRUPT = 519
  7961. XML_DTD_MULTIPLE_ID = 520
  7962. XML_DTD_NO_DOC = 521
  7963. XML_DTD_NO_DTD = 522
  7964. XML_DTD_NO_ELEM_NAME = 523
  7965. XML_DTD_NO_PREFIX = 524
  7966. XML_DTD_NO_ROOT = 525
  7967. XML_DTD_NOTATION_REDEFINED = 526
  7968. XML_DTD_NOTATION_VALUE = 527
  7969. XML_DTD_NOT_EMPTY = 528
  7970. XML_DTD_NOT_PCDATA = 529
  7971. XML_DTD_NOT_STANDALONE = 530
  7972. XML_DTD_ROOT_NAME = 531
  7973. XML_DTD_STANDALONE_WHITE_SPACE = 532
  7974. XML_DTD_UNKNOWN_ATTRIBUTE = 533
  7975. XML_DTD_UNKNOWN_ELEM = 534
  7976. XML_DTD_UNKNOWN_ENTITY = 535
  7977. XML_DTD_UNKNOWN_ID = 536
  7978. XML_DTD_UNKNOWN_NOTATION = 537
  7979. XML_DTD_STANDALONE_DEFAULTED = 538
  7980. XML_DTD_XMLID_VALUE = 539
  7981. XML_DTD_XMLID_TYPE = 540
  7982. XML_HTML_STRUCURE_ERROR = 800
  7983. XML_HTML_UNKNOWN_TAG = 801
  7984. XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000
  7985. XML_RNGP_ATTR_CONFLICT = 1001
  7986. XML_RNGP_ATTRIBUTE_CHILDREN = 1002
  7987. XML_RNGP_ATTRIBUTE_CONTENT = 1003
  7988. XML_RNGP_ATTRIBUTE_EMPTY = 1004
  7989. XML_RNGP_ATTRIBUTE_NOOP = 1005
  7990. XML_RNGP_CHOICE_CONTENT = 1006
  7991. XML_RNGP_CHOICE_EMPTY = 1007
  7992. XML_RNGP_CREATE_FAILURE = 1008
  7993. XML_RNGP_DATA_CONTENT = 1009
  7994. XML_RNGP_DEF_CHOICE_AND_INTERLEAVE = 1010
  7995. XML_RNGP_DEFINE_CREATE_FAILED = 1011
  7996. XML_RNGP_DEFINE_EMPTY = 1012
  7997. XML_RNGP_DEFINE_MISSING = 1013
  7998. XML_RNGP_DEFINE_NAME_MISSING = 1014
  7999. XML_RNGP_ELEM_CONTENT_EMPTY = 1015
  8000. XML_RNGP_ELEM_CONTENT_ERROR = 1016
  8001. XML_RNGP_ELEMENT_EMPTY = 1017
  8002. XML_RNGP_ELEMENT_CONTENT = 1018
  8003. XML_RNGP_ELEMENT_NAME = 1019
  8004. XML_RNGP_ELEMENT_NO_CONTENT = 1020
  8005. XML_RNGP_ELEM_TEXT_CONFLICT = 1021
  8006. XML_RNGP_EMPTY = 1022
  8007. XML_RNGP_EMPTY_CONSTRUCT = 1023
  8008. XML_RNGP_EMPTY_CONTENT = 1024
  8009. XML_RNGP_EMPTY_NOT_EMPTY = 1025
  8010. XML_RNGP_ERROR_TYPE_LIB = 1026
  8011. XML_RNGP_EXCEPT_EMPTY = 1027
  8012. XML_RNGP_EXCEPT_MISSING = 1028
  8013. XML_RNGP_EXCEPT_MULTIPLE = 1029
  8014. XML_RNGP_EXCEPT_NO_CONTENT = 1030
  8015. XML_RNGP_EXTERNALREF_EMTPY = 1031
  8016. XML_RNGP_EXTERNAL_REF_FAILURE = 1032
  8017. XML_RNGP_EXTERNALREF_RECURSE = 1033
  8018. XML_RNGP_FORBIDDEN_ATTRIBUTE = 1034
  8019. XML_RNGP_FOREIGN_ELEMENT = 1035
  8020. XML_RNGP_GRAMMAR_CONTENT = 1036
  8021. XML_RNGP_GRAMMAR_EMPTY = 1037
  8022. XML_RNGP_GRAMMAR_MISSING = 1038
  8023. XML_RNGP_GRAMMAR_NO_START = 1039
  8024. XML_RNGP_GROUP_ATTR_CONFLICT = 1040
  8025. XML_RNGP_HREF_ERROR = 1041
  8026. XML_RNGP_INCLUDE_EMPTY = 1042
  8027. XML_RNGP_INCLUDE_FAILURE = 1043
  8028. XML_RNGP_INCLUDE_RECURSE = 1044
  8029. XML_RNGP_INTERLEAVE_ADD = 1045
  8030. XML_RNGP_INTERLEAVE_CREATE_FAILED = 1046
  8031. XML_RNGP_INTERLEAVE_EMPTY = 1047
  8032. XML_RNGP_INTERLEAVE_NO_CONTENT = 1048
  8033. XML_RNGP_INVALID_DEFINE_NAME = 1049
  8034. XML_RNGP_INVALID_URI = 1050
  8035. XML_RNGP_INVALID_VALUE = 1051
  8036. XML_RNGP_MISSING_HREF = 1052
  8037. XML_RNGP_NAME_MISSING = 1053
  8038. XML_RNGP_NEED_COMBINE = 1054
  8039. XML_RNGP_NOTALLOWED_NOT_EMPTY = 1055
  8040. XML_RNGP_NSNAME_ATTR_ANCESTOR = 1056
  8041. XML_RNGP_NSNAME_NO_NS = 1057
  8042. XML_RNGP_PARAM_FORBIDDEN = 1058
  8043. XML_RNGP_PARAM_NAME_MISSING = 1059
  8044. XML_RNGP_PARENTREF_CREATE_FAILED = 1060
  8045. XML_RNGP_PARENTREF_NAME_INVALID = 1061
  8046. XML_RNGP_PARENTREF_NO_NAME = 1062
  8047. XML_RNGP_PARENTREF_NO_PARENT = 1063
  8048. XML_RNGP_PARENTREF_NOT_EMPTY = 1064
  8049. XML_RNGP_PARSE_ERROR = 1065
  8050. XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME = 1066
  8051. XML_RNGP_PAT_ATTR_ATTR = 1067
  8052. XML_RNGP_PAT_ATTR_ELEM = 1068
  8053. XML_RNGP_PAT_DATA_EXCEPT_ATTR = 1069
  8054. XML_RNGP_PAT_DATA_EXCEPT_ELEM = 1070
  8055. XML_RNGP_PAT_DATA_EXCEPT_EMPTY = 1071
  8056. XML_RNGP_PAT_DATA_EXCEPT_GROUP = 1072
  8057. XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE = 1073
  8058. XML_RNGP_PAT_DATA_EXCEPT_LIST = 1074
  8059. XML_RNGP_PAT_DATA_EXCEPT_ONEMORE = 1075
  8060. XML_RNGP_PAT_DATA_EXCEPT_REF = 1076
  8061. XML_RNGP_PAT_DATA_EXCEPT_TEXT = 1077
  8062. XML_RNGP_PAT_LIST_ATTR = 1078
  8063. XML_RNGP_PAT_LIST_ELEM = 1079
  8064. XML_RNGP_PAT_LIST_INTERLEAVE = 1080
  8065. XML_RNGP_PAT_LIST_LIST = 1081
  8066. XML_RNGP_PAT_LIST_REF = 1082
  8067. XML_RNGP_PAT_LIST_TEXT = 1083
  8068. XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME = 1084
  8069. XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME = 1085
  8070. XML_RNGP_PAT_ONEMORE_GROUP_ATTR = 1086
  8071. XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR = 1087
  8072. XML_RNGP_PAT_START_ATTR = 1088
  8073. XML_RNGP_PAT_START_DATA = 1089
  8074. XML_RNGP_PAT_START_EMPTY = 1090
  8075. XML_RNGP_PAT_START_GROUP = 1091
  8076. XML_RNGP_PAT_START_INTERLEAVE = 1092
  8077. XML_RNGP_PAT_START_LIST = 1093
  8078. XML_RNGP_PAT_START_ONEMORE = 1094
  8079. XML_RNGP_PAT_START_TEXT = 1095
  8080. XML_RNGP_PAT_START_VALUE = 1096
  8081. XML_RNGP_PREFIX_UNDEFINED = 1097
  8082. XML_RNGP_REF_CREATE_FAILED = 1098
  8083. XML_RNGP_REF_CYCLE = 1099
  8084. XML_RNGP_REF_NAME_INVALID = 1100
  8085. XML_RNGP_REF_NO_DEF = 1101
  8086. XML_RNGP_REF_NO_NAME = 1102
  8087. XML_RNGP_REF_NOT_EMPTY = 1103
  8088. XML_RNGP_START_CHOICE_AND_INTERLEAVE = 1104
  8089. XML_RNGP_START_CONTENT = 1105
  8090. XML_RNGP_START_EMPTY = 1106
  8091. XML_RNGP_START_MISSING = 1107
  8092. XML_RNGP_TEXT_EXPECTED = 1108
  8093. XML_RNGP_TEXT_HAS_CHILD = 1109
  8094. XML_RNGP_TYPE_MISSING = 1110
  8095. XML_RNGP_TYPE_NOT_FOUND = 1111
  8096. XML_RNGP_TYPE_VALUE = 1112
  8097. XML_RNGP_UNKNOWN_ATTRIBUTE = 1113
  8098. XML_RNGP_UNKNOWN_COMBINE = 1114
  8099. XML_RNGP_UNKNOWN_CONSTRUCT = 1115
  8100. XML_RNGP_UNKNOWN_TYPE_LIB = 1116
  8101. XML_RNGP_URI_FRAGMENT = 1117
  8102. XML_RNGP_URI_NOT_ABSOLUTE = 1118
  8103. XML_RNGP_VALUE_EMPTY = 1119
  8104. XML_RNGP_VALUE_NO_CONTENT = 1120
  8105. XML_RNGP_XMLNS_NAME = 1121
  8106. XML_RNGP_XML_NS = 1122
  8107. XML_XPATH_EXPRESSION_OK = 1200
  8108. XML_XPATH_NUMBER_ERROR = 1201
  8109. XML_XPATH_UNFINISHED_LITERAL_ERROR = 1202
  8110. XML_XPATH_START_LITERAL_ERROR = 1203
  8111. XML_XPATH_VARIABLE_REF_ERROR = 1204
  8112. XML_XPATH_UNDEF_VARIABLE_ERROR = 1205
  8113. XML_XPATH_INVALID_PREDICATE_ERROR = 1206
  8114. XML_XPATH_EXPR_ERROR = 1207
  8115. XML_XPATH_UNCLOSED_ERROR = 1208
  8116. XML_XPATH_UNKNOWN_FUNC_ERROR = 1209
  8117. XML_XPATH_INVALID_OPERAND = 1210
  8118. XML_XPATH_INVALID_TYPE = 1211
  8119. XML_XPATH_INVALID_ARITY = 1212
  8120. XML_XPATH_INVALID_CTXT_SIZE = 1213
  8121. XML_XPATH_INVALID_CTXT_POSITION = 1214
  8122. XML_XPATH_MEMORY_ERROR = 1215
  8123. XML_XPTR_SYNTAX_ERROR = 1216
  8124. XML_XPTR_RESOURCE_ERROR = 1217
  8125. XML_XPTR_SUB_RESOURCE_ERROR = 1218
  8126. XML_XPATH_UNDEF_PREFIX_ERROR = 1219
  8127. XML_XPATH_ENCODING_ERROR = 1220
  8128. XML_XPATH_INVALID_CHAR_ERROR = 1221
  8129. XML_TREE_INVALID_HEX = 1300
  8130. XML_TREE_INVALID_DEC = 1301
  8131. XML_TREE_UNTERMINATED_ENTITY = 1302
  8132. XML_SAVE_NOT_UTF8 = 1400
  8133. XML_SAVE_CHAR_INVALID = 1401
  8134. XML_SAVE_NO_DOCTYPE = 1402
  8135. XML_SAVE_UNKNOWN_ENCODING = 1403
  8136. XML_REGEXP_COMPILE_ERROR = 1450
  8137. XML_IO_UNKNOWN = 1500
  8138. XML_IO_EACCES = 1501
  8139. XML_IO_EAGAIN = 1502
  8140. XML_IO_EBADF = 1503
  8141. XML_IO_EBADMSG = 1504
  8142. XML_IO_EBUSY = 1505
  8143. XML_IO_ECANCELED = 1506
  8144. XML_IO_ECHILD = 1507
  8145. XML_IO_EDEADLK = 1508
  8146. XML_IO_EDOM = 1509
  8147. XML_IO_EEXIST = 1510
  8148. XML_IO_EFAULT = 1511
  8149. XML_IO_EFBIG = 1512
  8150. XML_IO_EINPROGRESS = 1513
  8151. XML_IO_EINTR = 1514
  8152. XML_IO_EINVAL = 1515
  8153. XML_IO_EIO = 1516
  8154. XML_IO_EISDIR = 1517
  8155. XML_IO_EMFILE = 1518
  8156. XML_IO_EMLINK = 1519
  8157. XML_IO_EMSGSIZE = 1520
  8158. XML_IO_ENAMETOOLONG = 1521
  8159. XML_IO_ENFILE = 1522
  8160. XML_IO_ENODEV = 1523
  8161. XML_IO_ENOENT = 1524
  8162. XML_IO_ENOEXEC = 1525
  8163. XML_IO_ENOLCK = 1526
  8164. XML_IO_ENOMEM = 1527
  8165. XML_IO_ENOSPC = 1528
  8166. XML_IO_ENOSYS = 1529
  8167. XML_IO_ENOTDIR = 1530
  8168. XML_IO_ENOTEMPTY = 1531
  8169. XML_IO_ENOTSUP = 1532
  8170. XML_IO_ENOTTY = 1533
  8171. XML_IO_ENXIO = 1534
  8172. XML_IO_EPERM = 1535
  8173. XML_IO_EPIPE = 1536
  8174. XML_IO_ERANGE = 1537
  8175. XML_IO_EROFS = 1538
  8176. XML_IO_ESPIPE = 1539
  8177. XML_IO_ESRCH = 1540
  8178. XML_IO_ETIMEDOUT = 1541
  8179. XML_IO_EXDEV = 1542
  8180. XML_IO_NETWORK_ATTEMPT = 1543
  8181. XML_IO_ENCODER = 1544
  8182. XML_IO_FLUSH = 1545
  8183. XML_IO_WRITE = 1546
  8184. XML_IO_NO_INPUT = 1547
  8185. XML_IO_BUFFER_FULL = 1548
  8186. XML_IO_LOAD_ERROR = 1549
  8187. XML_IO_ENOTSOCK = 1550
  8188. XML_IO_EISCONN = 1551
  8189. XML_IO_ECONNREFUSED = 1552
  8190. XML_IO_ENETUNREACH = 1553
  8191. XML_IO_EADDRINUSE = 1554
  8192. XML_IO_EALREADY = 1555
  8193. XML_IO_EAFNOSUPPORT = 1556
  8194. XML_XINCLUDE_RECURSION = 1600
  8195. XML_XINCLUDE_PARSE_VALUE = 1601
  8196. XML_XINCLUDE_ENTITY_DEF_MISMATCH = 1602
  8197. XML_XINCLUDE_NO_HREF = 1603
  8198. XML_XINCLUDE_NO_FALLBACK = 1604
  8199. XML_XINCLUDE_HREF_URI = 1605
  8200. XML_XINCLUDE_TEXT_FRAGMENT = 1606
  8201. XML_XINCLUDE_TEXT_DOCUMENT = 1607
  8202. XML_XINCLUDE_INVALID_CHAR = 1608
  8203. XML_XINCLUDE_BUILD_FAILED = 1609
  8204. XML_XINCLUDE_UNKNOWN_ENCODING = 1610
  8205. XML_XINCLUDE_MULTIPLE_ROOT = 1611
  8206. XML_XINCLUDE_XPTR_FAILED = 1612
  8207. XML_XINCLUDE_XPTR_RESULT = 1613
  8208. XML_XINCLUDE_INCLUDE_IN_INCLUDE = 1614
  8209. XML_XINCLUDE_FALLBACKS_IN_INCLUDE = 1615
  8210. XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE = 1616
  8211. XML_XINCLUDE_DEPRECATED_NS = 1617
  8212. XML_XINCLUDE_FRAGMENT_ID = 1618
  8213. XML_CATALOG_MISSING_ATTR = 1650
  8214. XML_CATALOG_ENTRY_BROKEN = 1651
  8215. XML_CATALOG_PREFER_VALUE = 1652
  8216. XML_CATALOG_NOT_CATALOG = 1653
  8217. XML_CATALOG_RECURSION = 1654
  8218. XML_SCHEMAP_PREFIX_UNDEFINED = 1700
  8219. XML_SCHEMAP_ATTRFORMDEFAULT_VALUE = 1701
  8220. XML_SCHEMAP_ATTRGRP_NONAME_NOREF = 1702
  8221. XML_SCHEMAP_ATTR_NONAME_NOREF = 1703
  8222. XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF = 1704
  8223. XML_SCHEMAP_ELEMFORMDEFAULT_VALUE = 1705
  8224. XML_SCHEMAP_ELEM_NONAME_NOREF = 1706
  8225. XML_SCHEMAP_EXTENSION_NO_BASE = 1707
  8226. XML_SCHEMAP_FACET_NO_VALUE = 1708
  8227. XML_SCHEMAP_FAILED_BUILD_IMPORT = 1709
  8228. XML_SCHEMAP_GROUP_NONAME_NOREF = 1710
  8229. XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI = 1711
  8230. XML_SCHEMAP_IMPORT_REDEFINE_NSNAME = 1712
  8231. XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI = 1713
  8232. XML_SCHEMAP_INVALID_BOOLEAN = 1714
  8233. XML_SCHEMAP_INVALID_ENUM = 1715
  8234. XML_SCHEMAP_INVALID_FACET = 1716
  8235. XML_SCHEMAP_INVALID_FACET_VALUE = 1717
  8236. XML_SCHEMAP_INVALID_MAXOCCURS = 1718
  8237. XML_SCHEMAP_INVALID_MINOCCURS = 1719
  8238. XML_SCHEMAP_INVALID_REF_AND_SUBTYPE = 1720
  8239. XML_SCHEMAP_INVALID_WHITE_SPACE = 1721
  8240. XML_SCHEMAP_NOATTR_NOREF = 1722
  8241. XML_SCHEMAP_NOTATION_NO_NAME = 1723
  8242. XML_SCHEMAP_NOTYPE_NOREF = 1724
  8243. XML_SCHEMAP_REF_AND_SUBTYPE = 1725
  8244. XML_SCHEMAP_RESTRICTION_NONAME_NOREF = 1726
  8245. XML_SCHEMAP_SIMPLETYPE_NONAME = 1727
  8246. XML_SCHEMAP_TYPE_AND_SUBTYPE = 1728
  8247. XML_SCHEMAP_UNKNOWN_ALL_CHILD = 1729
  8248. XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD = 1730
  8249. XML_SCHEMAP_UNKNOWN_ATTR_CHILD = 1731
  8250. XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD = 1732
  8251. XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP = 1733
  8252. XML_SCHEMAP_UNKNOWN_BASE_TYPE = 1734
  8253. XML_SCHEMAP_UNKNOWN_CHOICE_CHILD = 1735
  8254. XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD = 1736
  8255. XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD = 1737
  8256. XML_SCHEMAP_UNKNOWN_ELEM_CHILD = 1738
  8257. XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD = 1739
  8258. XML_SCHEMAP_UNKNOWN_FACET_CHILD = 1740
  8259. XML_SCHEMAP_UNKNOWN_FACET_TYPE = 1741
  8260. XML_SCHEMAP_UNKNOWN_GROUP_CHILD = 1742
  8261. XML_SCHEMAP_UNKNOWN_IMPORT_CHILD = 1743
  8262. XML_SCHEMAP_UNKNOWN_LIST_CHILD = 1744
  8263. XML_SCHEMAP_UNKNOWN_NOTATION_CHILD = 1745
  8264. XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD = 1746
  8265. XML_SCHEMAP_UNKNOWN_REF = 1747
  8266. XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD = 1748
  8267. XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD = 1749
  8268. XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD = 1750
  8269. XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD = 1751
  8270. XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD = 1752
  8271. XML_SCHEMAP_UNKNOWN_TYPE = 1753
  8272. XML_SCHEMAP_UNKNOWN_UNION_CHILD = 1754
  8273. XML_SCHEMAP_ELEM_DEFAULT_FIXED = 1755
  8274. XML_SCHEMAP_REGEXP_INVALID = 1756
  8275. XML_SCHEMAP_FAILED_LOAD = 1757
  8276. XML_SCHEMAP_NOTHING_TO_PARSE = 1758
  8277. XML_SCHEMAP_NOROOT = 1759
  8278. XML_SCHEMAP_REDEFINED_GROUP = 1760
  8279. XML_SCHEMAP_REDEFINED_TYPE = 1761
  8280. XML_SCHEMAP_REDEFINED_ELEMENT = 1762
  8281. XML_SCHEMAP_REDEFINED_ATTRGROUP = 1763
  8282. XML_SCHEMAP_REDEFINED_ATTR = 1764
  8283. XML_SCHEMAP_REDEFINED_NOTATION = 1765
  8284. XML_SCHEMAP_FAILED_PARSE = 1766
  8285. XML_SCHEMAP_UNKNOWN_PREFIX = 1767
  8286. XML_SCHEMAP_DEF_AND_PREFIX = 1768
  8287. XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD = 1769
  8288. XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI = 1770
  8289. XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI = 1771
  8290. XML_SCHEMAP_NOT_SCHEMA = 1772
  8291. XML_SCHEMAP_UNKNOWN_MEMBER_TYPE = 1773
  8292. XML_SCHEMAP_INVALID_ATTR_USE = 1774
  8293. XML_SCHEMAP_RECURSIVE = 1775
  8294. XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE = 1776
  8295. XML_SCHEMAP_INVALID_ATTR_COMBINATION = 1777
  8296. XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION = 1778
  8297. XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD = 1779
  8298. XML_SCHEMAP_INVALID_ATTR_NAME = 1780
  8299. XML_SCHEMAP_REF_AND_CONTENT = 1781
  8300. XML_SCHEMAP_CT_PROPS_CORRECT_1 = 1782
  8301. XML_SCHEMAP_CT_PROPS_CORRECT_2 = 1783
  8302. XML_SCHEMAP_CT_PROPS_CORRECT_3 = 1784
  8303. XML_SCHEMAP_CT_PROPS_CORRECT_4 = 1785
  8304. XML_SCHEMAP_CT_PROPS_CORRECT_5 = 1786
  8305. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1 = 1787
  8306. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1 = 1788
  8307. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2 = 1789
  8308. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2 = 1790
  8309. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3 = 1791
  8310. XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER = 1792
  8311. XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE = 1793
  8312. XML_SCHEMAP_UNION_NOT_EXPRESSIBLE = 1794
  8313. XML_SCHEMAP_SRC_IMPORT_3_1 = 1795
  8314. XML_SCHEMAP_SRC_IMPORT_3_2 = 1796
  8315. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1 = 1797
  8316. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2 = 1798
  8317. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3 = 1799
  8318. XML_SCHEMAP_COS_CT_EXTENDS_1_3 = 1800
  8319. XML_SCHEMAV_NOROOT = 1801
  8320. XML_SCHEMAV_UNDECLAREDELEM = 1802
  8321. XML_SCHEMAV_NOTTOPLEVEL = 1803
  8322. XML_SCHEMAV_MISSING = 1804
  8323. XML_SCHEMAV_WRONGELEM = 1805
  8324. XML_SCHEMAV_NOTYPE = 1806
  8325. XML_SCHEMAV_NOROLLBACK = 1807
  8326. XML_SCHEMAV_ISABSTRACT = 1808
  8327. XML_SCHEMAV_NOTEMPTY = 1809
  8328. XML_SCHEMAV_ELEMCONT = 1810
  8329. XML_SCHEMAV_HAVEDEFAULT = 1811
  8330. XML_SCHEMAV_NOTNILLABLE = 1812
  8331. XML_SCHEMAV_EXTRACONTENT = 1813
  8332. XML_SCHEMAV_INVALIDATTR = 1814
  8333. XML_SCHEMAV_INVALIDELEM = 1815
  8334. XML_SCHEMAV_NOTDETERMINIST = 1816
  8335. XML_SCHEMAV_CONSTRUCT = 1817
  8336. XML_SCHEMAV_INTERNAL = 1818
  8337. XML_SCHEMAV_NOTSIMPLE = 1819
  8338. XML_SCHEMAV_ATTRUNKNOWN = 1820
  8339. XML_SCHEMAV_ATTRINVALID = 1821
  8340. XML_SCHEMAV_VALUE = 1822
  8341. XML_SCHEMAV_FACET = 1823
  8342. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1 = 1824
  8343. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2 = 1825
  8344. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3 = 1826
  8345. XML_SCHEMAV_CVC_TYPE_3_1_1 = 1827
  8346. XML_SCHEMAV_CVC_TYPE_3_1_2 = 1828
  8347. XML_SCHEMAV_CVC_FACET_VALID = 1829
  8348. XML_SCHEMAV_CVC_LENGTH_VALID = 1830
  8349. XML_SCHEMAV_CVC_MINLENGTH_VALID = 1831
  8350. XML_SCHEMAV_CVC_MAXLENGTH_VALID = 1832
  8351. XML_SCHEMAV_CVC_MININCLUSIVE_VALID = 1833
  8352. XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID = 1834
  8353. XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID = 1835
  8354. XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID = 1836
  8355. XML_SCHEMAV_CVC_TOTALDIGITS_VALID = 1837
  8356. XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID = 1838
  8357. XML_SCHEMAV_CVC_PATTERN_VALID = 1839
  8358. XML_SCHEMAV_CVC_ENUMERATION_VALID = 1840
  8359. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1 = 1841
  8360. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2 = 1842
  8361. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3 = 1843
  8362. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4 = 1844
  8363. XML_SCHEMAV_CVC_ELT_1 = 1845
  8364. XML_SCHEMAV_CVC_ELT_2 = 1846
  8365. XML_SCHEMAV_CVC_ELT_3_1 = 1847
  8366. XML_SCHEMAV_CVC_ELT_3_2_1 = 1848
  8367. XML_SCHEMAV_CVC_ELT_3_2_2 = 1849
  8368. XML_SCHEMAV_CVC_ELT_4_1 = 1850
  8369. XML_SCHEMAV_CVC_ELT_4_2 = 1851
  8370. XML_SCHEMAV_CVC_ELT_4_3 = 1852
  8371. XML_SCHEMAV_CVC_ELT_5_1_1 = 1853
  8372. XML_SCHEMAV_CVC_ELT_5_1_2 = 1854
  8373. XML_SCHEMAV_CVC_ELT_5_2_1 = 1855
  8374. XML_SCHEMAV_CVC_ELT_5_2_2_1 = 1856
  8375. XML_SCHEMAV_CVC_ELT_5_2_2_2_1 = 1857
  8376. XML_SCHEMAV_CVC_ELT_5_2_2_2_2 = 1858
  8377. XML_SCHEMAV_CVC_ELT_6 = 1859
  8378. XML_SCHEMAV_CVC_ELT_7 = 1860
  8379. XML_SCHEMAV_CVC_ATTRIBUTE_1 = 1861
  8380. XML_SCHEMAV_CVC_ATTRIBUTE_2 = 1862
  8381. XML_SCHEMAV_CVC_ATTRIBUTE_3 = 1863
  8382. XML_SCHEMAV_CVC_ATTRIBUTE_4 = 1864
  8383. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1 = 1865
  8384. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1 = 1866
  8385. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2 = 1867
  8386. XML_SCHEMAV_CVC_COMPLEX_TYPE_4 = 1868
  8387. XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1 = 1869
  8388. XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2 = 1870
  8389. XML_SCHEMAV_ELEMENT_CONTENT = 1871
  8390. XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING = 1872
  8391. XML_SCHEMAV_CVC_COMPLEX_TYPE_1 = 1873
  8392. XML_SCHEMAV_CVC_AU = 1874
  8393. XML_SCHEMAV_CVC_TYPE_1 = 1875
  8394. XML_SCHEMAV_CVC_TYPE_2 = 1876
  8395. XML_SCHEMAV_CVC_IDC = 1877
  8396. XML_SCHEMAV_CVC_WILDCARD = 1878
  8397. XML_XPTR_UNKNOWN_SCHEME = 1900
  8398. XML_XPTR_CHILDSEQ_START = 1901
  8399. XML_XPTR_EVAL_FAILED = 1902
  8400. XML_XPTR_EXTRA_OBJECTS = 1903
  8401. XML_C14N_CREATE_CTXT = 1950
  8402. XML_C14N_REQUIRES_UTF8 = 1951
  8403. XML_C14N_CREATE_STACK = 1952
  8404. XML_C14N_INVALID_NODE = 1953
  8405. XML_C14N_UNKNOW_NODE = 1954
  8406. XML_C14N_RELATIVE_NAMESPACE = 1955
  8407. XML_FTP_PASV_ANSWER = 2000
  8408. XML_FTP_EPSV_ANSWER = 2001
  8409. XML_FTP_ACCNT = 2002
  8410. XML_FTP_URL_SYNTAX = 2003
  8411. XML_HTTP_URL_SYNTAX = 2020
  8412. XML_HTTP_USE_IP = 2021
  8413. XML_HTTP_UNKNOWN_HOST = 2022
  8414. XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000
  8415. XML_SCHEMAP_SRC_SIMPLE_TYPE_2 = 3001
  8416. XML_SCHEMAP_SRC_SIMPLE_TYPE_3 = 3002
  8417. XML_SCHEMAP_SRC_SIMPLE_TYPE_4 = 3003
  8418. XML_SCHEMAP_SRC_RESOLVE = 3004
  8419. XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE = 3005
  8420. XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE = 3006
  8421. XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES = 3007
  8422. XML_SCHEMAP_ST_PROPS_CORRECT_1 = 3008
  8423. XML_SCHEMAP_ST_PROPS_CORRECT_2 = 3009
  8424. XML_SCHEMAP_ST_PROPS_CORRECT_3 = 3010
  8425. XML_SCHEMAP_COS_ST_RESTRICTS_1_1 = 3011
  8426. XML_SCHEMAP_COS_ST_RESTRICTS_1_2 = 3012
  8427. XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1 = 3013
  8428. XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2 = 3014
  8429. XML_SCHEMAP_COS_ST_RESTRICTS_2_1 = 3015
  8430. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1 = 3016
  8431. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2 = 3017
  8432. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1 = 3018
  8433. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2 = 3019
  8434. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3 = 3020
  8435. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4 = 3021
  8436. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5 = 3022
  8437. XML_SCHEMAP_COS_ST_RESTRICTS_3_1 = 3023
  8438. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1 = 3024
  8439. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2 = 3025
  8440. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2 = 3026
  8441. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1 = 3027
  8442. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3 = 3028
  8443. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4 = 3029
  8444. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5 = 3030
  8445. XML_SCHEMAP_COS_ST_DERIVED_OK_2_1 = 3031
  8446. XML_SCHEMAP_COS_ST_DERIVED_OK_2_2 = 3032
  8447. XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED = 3033
  8448. XML_SCHEMAP_S4S_ELEM_MISSING = 3034
  8449. XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED = 3035
  8450. XML_SCHEMAP_S4S_ATTR_MISSING = 3036
  8451. XML_SCHEMAP_S4S_ATTR_INVALID_VALUE = 3037
  8452. XML_SCHEMAP_SRC_ELEMENT_1 = 3038
  8453. XML_SCHEMAP_SRC_ELEMENT_2_1 = 3039
  8454. XML_SCHEMAP_SRC_ELEMENT_2_2 = 3040
  8455. XML_SCHEMAP_SRC_ELEMENT_3 = 3041
  8456. XML_SCHEMAP_P_PROPS_CORRECT_1 = 3042
  8457. XML_SCHEMAP_P_PROPS_CORRECT_2_1 = 3043
  8458. XML_SCHEMAP_P_PROPS_CORRECT_2_2 = 3044
  8459. XML_SCHEMAP_E_PROPS_CORRECT_2 = 3045
  8460. XML_SCHEMAP_E_PROPS_CORRECT_3 = 3046
  8461. XML_SCHEMAP_E_PROPS_CORRECT_4 = 3047
  8462. XML_SCHEMAP_E_PROPS_CORRECT_5 = 3048
  8463. XML_SCHEMAP_E_PROPS_CORRECT_6 = 3049
  8464. XML_SCHEMAP_SRC_INCLUDE = 3050
  8465. XML_SCHEMAP_SRC_ATTRIBUTE_1 = 3051
  8466. XML_SCHEMAP_SRC_ATTRIBUTE_2 = 3052
  8467. XML_SCHEMAP_SRC_ATTRIBUTE_3_1 = 3053
  8468. XML_SCHEMAP_SRC_ATTRIBUTE_3_2 = 3054
  8469. XML_SCHEMAP_SRC_ATTRIBUTE_4 = 3055
  8470. XML_SCHEMAP_NO_XMLNS = 3056
  8471. XML_SCHEMAP_NO_XSI = 3057
  8472. XML_SCHEMAP_COS_VALID_DEFAULT_1 = 3058
  8473. XML_SCHEMAP_COS_VALID_DEFAULT_2_1 = 3059
  8474. XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1 = 3060
  8475. XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2 = 3061
  8476. XML_SCHEMAP_CVC_SIMPLE_TYPE = 3062
  8477. XML_SCHEMAP_COS_CT_EXTENDS_1_1 = 3063
  8478. XML_SCHEMAP_SRC_IMPORT_1_1 = 3064
  8479. XML_SCHEMAP_SRC_IMPORT_1_2 = 3065
  8480. XML_SCHEMAP_SRC_IMPORT_2 = 3066
  8481. XML_SCHEMAP_SRC_IMPORT_2_1 = 3067
  8482. XML_SCHEMAP_SRC_IMPORT_2_2 = 3068
  8483. XML_SCHEMAP_INTERNAL = 3069
  8484. XML_SCHEMAP_NOT_DETERMINISTIC = 3070
  8485. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1 = 3071
  8486. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2 = 3072
  8487. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3 = 3073
  8488. XML_SCHEMAP_MG_PROPS_CORRECT_1 = 3074
  8489. XML_SCHEMAP_MG_PROPS_CORRECT_2 = 3075
  8490. XML_SCHEMAP_SRC_CT_1 = 3076
  8491. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3 = 3077
  8492. XML_SCHEMAP_AU_PROPS_CORRECT_2 = 3078
  8493. XML_SCHEMAP_A_PROPS_CORRECT_2 = 3079
  8494. XML_SCHEMAP_C_PROPS_CORRECT = 3080
  8495. XML_SCHEMAP_SRC_REDEFINE = 3081
  8496. XML_SCHEMAP_SRC_IMPORT = 3082
  8497. XML_SCHEMAP_WARN_SKIP_SCHEMA = 3083
  8498. XML_SCHEMAP_WARN_UNLOCATED_SCHEMA = 3084
  8499. XML_SCHEMAP_WARN_ATTR_REDECL_PROH = 3085
  8500. XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH = 3086
  8501. XML_SCHEMAP_AG_PROPS_CORRECT = 3087
  8502. XML_SCHEMAP_COS_CT_EXTENDS_1_2 = 3088
  8503. XML_SCHEMAP_AU_PROPS_CORRECT = 3089
  8504. XML_SCHEMAP_A_PROPS_CORRECT_3 = 3090
  8505. XML_SCHEMAP_COS_ALL_LIMITED = 3091
  8506. XML_MODULE_OPEN = 4900
  8507. XML_MODULE_CLOSE = 4901
  8508. XML_CHECK_FOUND_ELEMENT = 5000
  8509. XML_CHECK_FOUND_ATTRIBUTE = 5001
  8510. XML_CHECK_FOUND_TEXT = 5002
  8511. XML_CHECK_FOUND_CDATA = 5003
  8512. XML_CHECK_FOUND_ENTITYREF = 5004
  8513. XML_CHECK_FOUND_ENTITY = 5005
  8514. XML_CHECK_FOUND_PI = 5006
  8515. XML_CHECK_FOUND_COMMENT = 5007
  8516. XML_CHECK_FOUND_DOCTYPE = 5008
  8517. XML_CHECK_FOUND_FRAGMENT = 5009
  8518. XML_CHECK_FOUND_NOTATION = 5010
  8519. XML_CHECK_UNKNOWN_NODE = 5011
  8520. XML_CHECK_ENTITY_TYPE = 5012
  8521. XML_CHECK_NO_PARENT = 5013
  8522. XML_CHECK_NO_DOC = 5014
  8523. XML_CHECK_NO_NAME = 5015
  8524. XML_CHECK_NO_ELEM = 5016
  8525. XML_CHECK_WRONG_DOC = 5017
  8526. XML_CHECK_NO_PREV = 5018
  8527. XML_CHECK_WRONG_PREV = 5019
  8528. XML_CHECK_NO_NEXT = 5020
  8529. XML_CHECK_WRONG_NEXT = 5021
  8530. XML_CHECK_NOT_DTD = 5022
  8531. XML_CHECK_NOT_ATTR = 5023
  8532. XML_CHECK_NOT_ATTR_DECL = 5024
  8533. XML_CHECK_NOT_ELEM_DECL = 5025
  8534. XML_CHECK_NOT_ENTITY_DECL = 5026
  8535. XML_CHECK_NOT_NS_DECL = 5027
  8536. XML_CHECK_NO_HREF = 5028
  8537. XML_CHECK_WRONG_PARENT = 5029
  8538. XML_CHECK_NS_SCOPE = 5030
  8539. XML_CHECK_NS_ANCESTOR = 5031
  8540. XML_CHECK_NOT_UTF8 = 5032
  8541. XML_CHECK_NO_DICT = 5033
  8542. XML_CHECK_NOT_NCNAME = 5034
  8543. XML_CHECK_OUTSIDE_DICT = 5035
  8544. XML_CHECK_WRONG_NAME = 5036
  8545. XML_CHECK_NAME_NOT_NULL = 5037
  8546. XML_I18N_NO_NAME = 6000
  8547. XML_I18N_NO_HANDLER = 6001
  8548. XML_I18N_EXCESS_HANDLER = 6002
  8549. XML_I18N_CONV_FAILED = 6003
  8550. XML_I18N_NO_OUTPUT = 6004
  8551. XML_CHECK_ = 6005
  8552. XML_CHECK_X = 6006
  8553.  
  8554. # xmlExpNodeType
  8555. XML_EXP_EMPTY = 0
  8556. XML_EXP_FORBID = 1
  8557. XML_EXP_ATOM = 2
  8558. XML_EXP_SEQ = 3
  8559. XML_EXP_OR = 4
  8560. XML_EXP_COUNT = 5
  8561.  
  8562. # xmlModuleOption
  8563. XML_MODULE_LAZY = 1
  8564. XML_MODULE_LOCAL = 2
  8565.  
  8566. # xmlParserProperties
  8567. XML_PARSER_LOADDTD = 1
  8568. XML_PARSER_DEFAULTATTRS = 2
  8569. XML_PARSER_VALIDATE = 3
  8570. XML_PARSER_SUBST_ENTITIES = 4
  8571.  
  8572. # xmlReaderTypes
  8573. XML_READER_TYPE_NONE = 0
  8574. XML_READER_TYPE_ELEMENT = 1
  8575. XML_READER_TYPE_ATTRIBUTE = 2
  8576. XML_READER_TYPE_TEXT = 3
  8577. XML_READER_TYPE_CDATA = 4
  8578. XML_READER_TYPE_ENTITY_REFERENCE = 5
  8579. XML_READER_TYPE_ENTITY = 6
  8580. XML_READER_TYPE_PROCESSING_INSTRUCTION = 7
  8581. XML_READER_TYPE_COMMENT = 8
  8582. XML_READER_TYPE_DOCUMENT = 9
  8583. XML_READER_TYPE_DOCUMENT_TYPE = 10
  8584. XML_READER_TYPE_DOCUMENT_FRAGMENT = 11
  8585. XML_READER_TYPE_NOTATION = 12
  8586. XML_READER_TYPE_WHITESPACE = 13
  8587. XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14
  8588. XML_READER_TYPE_END_ELEMENT = 15
  8589. XML_READER_TYPE_END_ENTITY = 16
  8590. XML_READER_TYPE_XML_DECLARATION = 17
  8591.  
  8592. # xmlCatalogPrefer
  8593. XML_CATA_PREFER_NONE = 0
  8594. XML_CATA_PREFER_PUBLIC = 1
  8595. XML_CATA_PREFER_SYSTEM = 2
  8596.  
  8597. # xmlElementType
  8598. XML_ELEMENT_NODE = 1
  8599. XML_ATTRIBUTE_NODE = 2
  8600. XML_TEXT_NODE = 3
  8601. XML_CDATA_SECTION_NODE = 4
  8602. XML_ENTITY_REF_NODE = 5
  8603. XML_ENTITY_NODE = 6
  8604. XML_PI_NODE = 7
  8605. XML_COMMENT_NODE = 8
  8606. XML_DOCUMENT_NODE = 9
  8607. XML_DOCUMENT_TYPE_NODE = 10
  8608. XML_DOCUMENT_FRAG_NODE = 11
  8609. XML_NOTATION_NODE = 12
  8610. XML_HTML_DOCUMENT_NODE = 13
  8611. XML_DTD_NODE = 14
  8612. XML_ELEMENT_DECL = 15
  8613. XML_ATTRIBUTE_DECL = 16
  8614. XML_ENTITY_DECL = 17
  8615. XML_NAMESPACE_DECL = 18
  8616. XML_XINCLUDE_START = 19
  8617. XML_XINCLUDE_END = 20
  8618. XML_DOCB_DOCUMENT_NODE = 21
  8619.  
  8620. # xlinkActuate
  8621. XLINK_ACTUATE_NONE = 0
  8622. XLINK_ACTUATE_AUTO = 1
  8623. XLINK_ACTUATE_ONREQUEST = 2
  8624.  
  8625. # xmlFeature
  8626. XML_WITH_THREAD = 1
  8627. XML_WITH_TREE = 2
  8628. XML_WITH_OUTPUT = 3
  8629. XML_WITH_PUSH = 4
  8630. XML_WITH_READER = 5
  8631. XML_WITH_PATTERN = 6
  8632. XML_WITH_WRITER = 7
  8633. XML_WITH_SAX1 = 8
  8634. XML_WITH_FTP = 9
  8635. XML_WITH_HTTP = 10
  8636. XML_WITH_VALID = 11
  8637. XML_WITH_HTML = 12
  8638. XML_WITH_LEGACY = 13
  8639. XML_WITH_C14N = 14
  8640. XML_WITH_CATALOG = 15
  8641. XML_WITH_XPATH = 16
  8642. XML_WITH_XPTR = 17
  8643. XML_WITH_XINCLUDE = 18
  8644. XML_WITH_ICONV = 19
  8645. XML_WITH_ISO8859X = 20
  8646. XML_WITH_UNICODE = 21
  8647. XML_WITH_REGEXP = 22
  8648. XML_WITH_AUTOMATA = 23
  8649. XML_WITH_EXPR = 24
  8650. XML_WITH_SCHEMAS = 25
  8651. XML_WITH_SCHEMATRON = 26
  8652. XML_WITH_MODULES = 27
  8653. XML_WITH_DEBUG = 28
  8654. XML_WITH_DEBUG_MEM = 29
  8655. XML_WITH_DEBUG_RUN = 30
  8656. XML_WITH_NONE = 99999
  8657.  
  8658. # xmlElementContentOccur
  8659. XML_ELEMENT_CONTENT_ONCE = 1
  8660. XML_ELEMENT_CONTENT_OPT = 2
  8661. XML_ELEMENT_CONTENT_MULT = 3
  8662. XML_ELEMENT_CONTENT_PLUS = 4
  8663.  
  8664. # xmlXPathError
  8665. XPATH_EXPRESSION_OK = 0
  8666. XPATH_NUMBER_ERROR = 1
  8667. XPATH_UNFINISHED_LITERAL_ERROR = 2
  8668. XPATH_START_LITERAL_ERROR = 3
  8669. XPATH_VARIABLE_REF_ERROR = 4
  8670. XPATH_UNDEF_VARIABLE_ERROR = 5
  8671. XPATH_INVALID_PREDICATE_ERROR = 6
  8672. XPATH_EXPR_ERROR = 7
  8673. XPATH_UNCLOSED_ERROR = 8
  8674. XPATH_UNKNOWN_FUNC_ERROR = 9
  8675. XPATH_INVALID_OPERAND = 10
  8676. XPATH_INVALID_TYPE = 11
  8677. XPATH_INVALID_ARITY = 12
  8678. XPATH_INVALID_CTXT_SIZE = 13
  8679. XPATH_INVALID_CTXT_POSITION = 14
  8680. XPATH_MEMORY_ERROR = 15
  8681. XPTR_SYNTAX_ERROR = 16
  8682. XPTR_RESOURCE_ERROR = 17
  8683. XPTR_SUB_RESOURCE_ERROR = 18
  8684. XPATH_UNDEF_PREFIX_ERROR = 19
  8685. XPATH_ENCODING_ERROR = 20
  8686. XPATH_INVALID_CHAR_ERROR = 21
  8687. XPATH_INVALID_CTXT = 22
  8688.  
  8689. # xmlElementContentType
  8690. XML_ELEMENT_CONTENT_PCDATA = 1
  8691. XML_ELEMENT_CONTENT_ELEMENT = 2
  8692. XML_ELEMENT_CONTENT_SEQ = 3
  8693. XML_ELEMENT_CONTENT_OR = 4
  8694.  
  8695. # xmlTextReaderMode
  8696. XML_TEXTREADER_MODE_INITIAL = 0
  8697. XML_TEXTREADER_MODE_INTERACTIVE = 1
  8698. XML_TEXTREADER_MODE_ERROR = 2
  8699. XML_TEXTREADER_MODE_EOF = 3
  8700. XML_TEXTREADER_MODE_CLOSED = 4
  8701. XML_TEXTREADER_MODE_READING = 5
  8702.  
  8703. # xmlErrorLevel
  8704. XML_ERR_NONE = 0
  8705. XML_ERR_WARNING = 1
  8706. XML_ERR_ERROR = 2
  8707. XML_ERR_FATAL = 3
  8708.  
  8709. # xmlCharEncoding
  8710. XML_CHAR_ENCODING_ERROR = -1
  8711. XML_CHAR_ENCODING_NONE = 0
  8712. XML_CHAR_ENCODING_UTF8 = 1
  8713. XML_CHAR_ENCODING_UTF16LE = 2
  8714. XML_CHAR_ENCODING_UTF16BE = 3
  8715. XML_CHAR_ENCODING_UCS4LE = 4
  8716. XML_CHAR_ENCODING_UCS4BE = 5
  8717. XML_CHAR_ENCODING_EBCDIC = 6
  8718. XML_CHAR_ENCODING_UCS4_2143 = 7
  8719. XML_CHAR_ENCODING_UCS4_3412 = 8
  8720. XML_CHAR_ENCODING_UCS2 = 9
  8721. XML_CHAR_ENCODING_8859_1 = 10
  8722. XML_CHAR_ENCODING_8859_2 = 11
  8723. XML_CHAR_ENCODING_8859_3 = 12
  8724. XML_CHAR_ENCODING_8859_4 = 13
  8725. XML_CHAR_ENCODING_8859_5 = 14
  8726. XML_CHAR_ENCODING_8859_6 = 15
  8727. XML_CHAR_ENCODING_8859_7 = 16
  8728. XML_CHAR_ENCODING_8859_8 = 17
  8729. XML_CHAR_ENCODING_8859_9 = 18
  8730. XML_CHAR_ENCODING_2022_JP = 19
  8731. XML_CHAR_ENCODING_SHIFT_JIS = 20
  8732. XML_CHAR_ENCODING_EUC_JP = 21
  8733. XML_CHAR_ENCODING_ASCII = 22
  8734.  
  8735. # xmlErrorDomain
  8736. XML_FROM_NONE = 0
  8737. XML_FROM_PARSER = 1
  8738. XML_FROM_TREE = 2
  8739. XML_FROM_NAMESPACE = 3
  8740. XML_FROM_DTD = 4
  8741. XML_FROM_HTML = 5
  8742. XML_FROM_MEMORY = 6
  8743. XML_FROM_OUTPUT = 7
  8744. XML_FROM_IO = 8
  8745. XML_FROM_FTP = 9
  8746. XML_FROM_HTTP = 10
  8747. XML_FROM_XINCLUDE = 11
  8748. XML_FROM_XPATH = 12
  8749. XML_FROM_XPOINTER = 13
  8750. XML_FROM_REGEXP = 14
  8751. XML_FROM_DATATYPE = 15
  8752. XML_FROM_SCHEMASP = 16
  8753. XML_FROM_SCHEMASV = 17
  8754. XML_FROM_RELAXNGP = 18
  8755. XML_FROM_RELAXNGV = 19
  8756. XML_FROM_CATALOG = 20
  8757. XML_FROM_C14N = 21
  8758. XML_FROM_XSLT = 22
  8759. XML_FROM_VALID = 23
  8760. XML_FROM_CHECK = 24
  8761. XML_FROM_WRITER = 25
  8762. XML_FROM_MODULE = 26
  8763. XML_FROM_I18N = 27
  8764.  
  8765. # htmlStatus
  8766. HTML_NA = 0
  8767. HTML_INVALID = 1
  8768. HTML_DEPRECATED = 2
  8769. HTML_VALID = 4
  8770. HTML_REQUIRED = 12
  8771.  
  8772. # xmlSchemaValidOption
  8773. XML_SCHEMA_VAL_VC_I_CREATE = 1
  8774.  
  8775. # xmlSchemaWhitespaceValueType
  8776. XML_SCHEMA_WHITESPACE_UNKNOWN = 0
  8777. XML_SCHEMA_WHITESPACE_PRESERVE = 1
  8778. XML_SCHEMA_WHITESPACE_REPLACE = 2
  8779. XML_SCHEMA_WHITESPACE_COLLAPSE = 3
  8780.  
  8781. # htmlParserOption
  8782. HTML_PARSE_RECOVER = 1
  8783. HTML_PARSE_NOERROR = 32
  8784. HTML_PARSE_NOWARNING = 64
  8785. HTML_PARSE_PEDANTIC = 128
  8786. HTML_PARSE_NOBLANKS = 256
  8787. HTML_PARSE_NONET = 2048
  8788. HTML_PARSE_COMPACT = 65536
  8789.  
  8790. # xmlRelaxNGValidErr
  8791. XML_RELAXNG_OK = 0
  8792. XML_RELAXNG_ERR_MEMORY = 1
  8793. XML_RELAXNG_ERR_TYPE = 2
  8794. XML_RELAXNG_ERR_TYPEVAL = 3
  8795. XML_RELAXNG_ERR_DUPID = 4
  8796. XML_RELAXNG_ERR_TYPECMP = 5
  8797. XML_RELAXNG_ERR_NOSTATE = 6
  8798. XML_RELAXNG_ERR_NODEFINE = 7
  8799. XML_RELAXNG_ERR_LISTEXTRA = 8
  8800. XML_RELAXNG_ERR_LISTEMPTY = 9
  8801. XML_RELAXNG_ERR_INTERNODATA = 10
  8802. XML_RELAXNG_ERR_INTERSEQ = 11
  8803. XML_RELAXNG_ERR_INTEREXTRA = 12
  8804. XML_RELAXNG_ERR_ELEMNAME = 13
  8805. XML_RELAXNG_ERR_ATTRNAME = 14
  8806. XML_RELAXNG_ERR_ELEMNONS = 15
  8807. XML_RELAXNG_ERR_ATTRNONS = 16
  8808. XML_RELAXNG_ERR_ELEMWRONGNS = 17
  8809. XML_RELAXNG_ERR_ATTRWRONGNS = 18
  8810. XML_RELAXNG_ERR_ELEMEXTRANS = 19
  8811. XML_RELAXNG_ERR_ATTREXTRANS = 20
  8812. XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
  8813. XML_RELAXNG_ERR_NOELEM = 22
  8814. XML_RELAXNG_ERR_NOTELEM = 23
  8815. XML_RELAXNG_ERR_ATTRVALID = 24
  8816. XML_RELAXNG_ERR_CONTENTVALID = 25
  8817. XML_RELAXNG_ERR_EXTRACONTENT = 26
  8818. XML_RELAXNG_ERR_INVALIDATTR = 27
  8819. XML_RELAXNG_ERR_DATAELEM = 28
  8820. XML_RELAXNG_ERR_VALELEM = 29
  8821. XML_RELAXNG_ERR_LISTELEM = 30
  8822. XML_RELAXNG_ERR_DATATYPE = 31
  8823. XML_RELAXNG_ERR_VALUE = 32
  8824. XML_RELAXNG_ERR_LIST = 33
  8825. XML_RELAXNG_ERR_NOGRAMMAR = 34
  8826. XML_RELAXNG_ERR_EXTRADATA = 35
  8827. XML_RELAXNG_ERR_LACKDATA = 36
  8828. XML_RELAXNG_ERR_INTERNAL = 37
  8829. XML_RELAXNG_ERR_ELEMWRONG = 38
  8830. XML_RELAXNG_ERR_TEXTWRONG = 39
  8831.  
  8832. # xmlCatalogAllow
  8833. XML_CATA_ALLOW_NONE = 0
  8834. XML_CATA_ALLOW_GLOBAL = 1
  8835. XML_CATA_ALLOW_DOCUMENT = 2
  8836. XML_CATA_ALLOW_ALL = 3
  8837.  
  8838. # xmlAttributeType
  8839. XML_ATTRIBUTE_CDATA = 1
  8840. XML_ATTRIBUTE_ID = 2
  8841. XML_ATTRIBUTE_IDREF = 3
  8842. XML_ATTRIBUTE_IDREFS = 4
  8843. XML_ATTRIBUTE_ENTITY = 5
  8844. XML_ATTRIBUTE_ENTITIES = 6
  8845. XML_ATTRIBUTE_NMTOKEN = 7
  8846. XML_ATTRIBUTE_NMTOKENS = 8
  8847. XML_ATTRIBUTE_ENUMERATION = 9
  8848. XML_ATTRIBUTE_NOTATION = 10
  8849.  
  8850. # xmlSchematronValidOptions
  8851. XML_SCHEMATRON_OUT_QUIET = 1
  8852. XML_SCHEMATRON_OUT_TEXT = 2
  8853. XML_SCHEMATRON_OUT_XML = 4
  8854. XML_SCHEMATRON_OUT_FILE = 256
  8855. XML_SCHEMATRON_OUT_BUFFER = 512
  8856. XML_SCHEMATRON_OUT_IO = 1024
  8857.  
  8858. # xmlSchemaContentType
  8859. XML_SCHEMA_CONTENT_UNKNOWN = 0
  8860. XML_SCHEMA_CONTENT_EMPTY = 1
  8861. XML_SCHEMA_CONTENT_ELEMENTS = 2
  8862. XML_SCHEMA_CONTENT_MIXED = 3
  8863. XML_SCHEMA_CONTENT_SIMPLE = 4
  8864. XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5
  8865. XML_SCHEMA_CONTENT_BASIC = 6
  8866. XML_SCHEMA_CONTENT_ANY = 7
  8867.  
  8868. # xmlSchemaTypeType
  8869. XML_SCHEMA_TYPE_BASIC = 1
  8870. XML_SCHEMA_TYPE_ANY = 2
  8871. XML_SCHEMA_TYPE_FACET = 3
  8872. XML_SCHEMA_TYPE_SIMPLE = 4
  8873. XML_SCHEMA_TYPE_COMPLEX = 5
  8874. XML_SCHEMA_TYPE_SEQUENCE = 6
  8875. XML_SCHEMA_TYPE_CHOICE = 7
  8876. XML_SCHEMA_TYPE_ALL = 8
  8877. XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
  8878. XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
  8879. XML_SCHEMA_TYPE_UR = 11
  8880. XML_SCHEMA_TYPE_RESTRICTION = 12
  8881. XML_SCHEMA_TYPE_EXTENSION = 13
  8882. XML_SCHEMA_TYPE_ELEMENT = 14
  8883. XML_SCHEMA_TYPE_ATTRIBUTE = 15
  8884. XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
  8885. XML_SCHEMA_TYPE_GROUP = 17
  8886. XML_SCHEMA_TYPE_NOTATION = 18
  8887. XML_SCHEMA_TYPE_LIST = 19
  8888. XML_SCHEMA_TYPE_UNION = 20
  8889. XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
  8890. XML_SCHEMA_TYPE_IDC_UNIQUE = 22
  8891. XML_SCHEMA_TYPE_IDC_KEY = 23
  8892. XML_SCHEMA_TYPE_IDC_KEYREF = 24
  8893. XML_SCHEMA_TYPE_PARTICLE = 25
  8894. XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
  8895. XML_SCHEMA_FACET_MININCLUSIVE = 1000
  8896. XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
  8897. XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
  8898. XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
  8899. XML_SCHEMA_FACET_TOTALDIGITS = 1004
  8900. XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
  8901. XML_SCHEMA_FACET_PATTERN = 1006
  8902. XML_SCHEMA_FACET_ENUMERATION = 1007
  8903. XML_SCHEMA_FACET_WHITESPACE = 1008
  8904. XML_SCHEMA_FACET_LENGTH = 1009
  8905. XML_SCHEMA_FACET_MAXLENGTH = 1010
  8906. XML_SCHEMA_FACET_MINLENGTH = 1011
  8907. XML_SCHEMA_EXTRA_QNAMEREF = 2000
  8908. XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
  8909.  
  8910. # xmlParserMode
  8911. XML_PARSE_UNKNOWN = 0
  8912. XML_PARSE_DOM = 1
  8913. XML_PARSE_SAX = 2
  8914. XML_PARSE_PUSH_DOM = 3
  8915. XML_PARSE_PUSH_SAX = 4
  8916. XML_PARSE_READER = 5
  8917.  
  8918. # xmlParserOption
  8919. XML_PARSE_RECOVER = 1
  8920. XML_PARSE_NOENT = 2
  8921. XML_PARSE_DTDLOAD = 4
  8922. XML_PARSE_DTDATTR = 8
  8923. XML_PARSE_DTDVALID = 16
  8924. XML_PARSE_NOERROR = 32
  8925. XML_PARSE_NOWARNING = 64
  8926. XML_PARSE_PEDANTIC = 128
  8927. XML_PARSE_NOBLANKS = 256
  8928. XML_PARSE_SAX1 = 512
  8929. XML_PARSE_XINCLUDE = 1024
  8930. XML_PARSE_NONET = 2048
  8931. XML_PARSE_NODICT = 4096
  8932. XML_PARSE_NSCLEAN = 8192
  8933. XML_PARSE_NOCDATA = 16384
  8934. XML_PARSE_NOXINCNODE = 32768
  8935. XML_PARSE_COMPACT = 65536
  8936.  
  8937. # xmlElementTypeVal
  8938. XML_ELEMENT_TYPE_UNDEFINED = 0
  8939. XML_ELEMENT_TYPE_EMPTY = 1
  8940. XML_ELEMENT_TYPE_ANY = 2
  8941. XML_ELEMENT_TYPE_MIXED = 3
  8942. XML_ELEMENT_TYPE_ELEMENT = 4
  8943.  
  8944. # xlinkType
  8945. XLINK_TYPE_NONE = 0
  8946. XLINK_TYPE_SIMPLE = 1
  8947. XLINK_TYPE_EXTENDED = 2
  8948. XLINK_TYPE_EXTENDED_SET = 3
  8949.  
  8950. # xmlXPathObjectType
  8951. XPATH_UNDEFINED = 0
  8952. XPATH_NODESET = 1
  8953. XPATH_BOOLEAN = 2
  8954. XPATH_NUMBER = 3
  8955. XPATH_STRING = 4
  8956. XPATH_POINT = 5
  8957. XPATH_RANGE = 6
  8958. XPATH_LOCATIONSET = 7
  8959. XPATH_USERS = 8
  8960. XPATH_XSLT_TREE = 9
  8961.  
  8962. # xmlSchemaValidError
  8963. XML_SCHEMAS_ERR_OK = 0
  8964. XML_SCHEMAS_ERR_NOROOT = 1
  8965. XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
  8966. XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
  8967. XML_SCHEMAS_ERR_MISSING = 4
  8968. XML_SCHEMAS_ERR_WRONGELEM = 5
  8969. XML_SCHEMAS_ERR_NOTYPE = 6
  8970. XML_SCHEMAS_ERR_NOROLLBACK = 7
  8971. XML_SCHEMAS_ERR_ISABSTRACT = 8
  8972. XML_SCHEMAS_ERR_NOTEMPTY = 9
  8973. XML_SCHEMAS_ERR_ELEMCONT = 10
  8974. XML_SCHEMAS_ERR_HAVEDEFAULT = 11
  8975. XML_SCHEMAS_ERR_NOTNILLABLE = 12
  8976. XML_SCHEMAS_ERR_EXTRACONTENT = 13
  8977. XML_SCHEMAS_ERR_INVALIDATTR = 14
  8978. XML_SCHEMAS_ERR_INVALIDELEM = 15
  8979. XML_SCHEMAS_ERR_NOTDETERMINIST = 16
  8980. XML_SCHEMAS_ERR_CONSTRUCT = 17
  8981. XML_SCHEMAS_ERR_INTERNAL = 18
  8982. XML_SCHEMAS_ERR_NOTSIMPLE = 19
  8983. XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
  8984. XML_SCHEMAS_ERR_ATTRINVALID = 21
  8985. XML_SCHEMAS_ERR_VALUE = 22
  8986. XML_SCHEMAS_ERR_FACET = 23
  8987. XML_SCHEMAS_ERR_ = 24
  8988. XML_SCHEMAS_ERR_XXX = 25
  8989.  
  8990.